您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页c#学习之委托练习

c#学习之委托练习

来源:好走旅游网

练习需求分析:
一个数组string[] names = { "dfsSDF", "dfsFDSFE", "DFSDdsf" };

		static void ProToUpper(string[] names)
        {
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = names[i].ToUpper();
            }
        }
        static  void ProToLower(string[] names)
        {
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = names[i].ToLower();
            }
        }
        static void ProAddQuo(string[] names)
        {
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = "\"" + names[i] + "\"";
            }
        }

2、再写一个含委托参数的改变字符串的总方法,包含委托参数,需要先定义一个委托类型,返回值及参数需要和前面方法一致;

		public delegate void DelChange(string [] names);
 		static void Change(string[] names, DelChange del)
        {
            del(names);
        }

3、调用显示

		static void Main(string[] args)
        {
            string[] names = { "dfsSDF", "dfsFDSFE", "DFSDdsf" };
            Change(names, ProToLower);
            foreach (var item in names)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

        }

4、简化代码(封装)

public delegate string DelChange(string names);
        static void Main(string[] args)
        {
            string[] names = { "dfsSDF", "dfsFDSFE", "DFSDdsf" };
            Change(names, ProToLower);
            foreach (var item in names)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

        }
        static void Change(string[] names, DelChange del)
        {
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = del(names[i]);
            }
        }
        static string  ProToUpper(string str)
        {
            return str.ToUpper();
        }
        static  string ProToLower(string str)
        {
            return str.ToLower();
        }
        static string ProAddQuo(string str)
        {
            return "\"" + str+ "\"";
        }
    }

OK啦!!!!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务