Csharp的委托兼用适合于初学者更新到4._0

// 1.开源控Meteor:微博地址:开源控Meteor的新浪微博

//2.新浪博客:http://blog.sina.com.cn/systembreakdown

//3.英文名:Meteor

//4.qq交流:406662428                       

//5.hotmail:kllxyu@hotmail.com

//6.qq群292825893(C#IT技术联盟)

//7.博客园地址:http://www.cnblogs.com/kllxyu/

//8.MSN:开源控Meteor的MSN

    class Program
    {
        #region 2.0-3.0中的委托
        delegate void D1();
        delegate void D2(string myName);
        public static void HelloWorld()
        {
            Console.WriteLine("Hello World!");
        }
        public static void HelloWorld2(string name)
        {
            Console.WriteLine("Hello ,{0}!", name);
        }
         public static void HelloWorld3(string name)
        {
            Console.WriteLine("你好,{0}!", name);
        }
        #endregion
         #region 4.0-4.5中的委托
         static Action A1;
         static Action<string> A2;
         #endregion
         #region Func 带返回值的委托
         static Func<string> F;
         static Func<DateTime, string> F2;
         static string HelloWorldF1()
         {
             return "Hello World!";
         }


         static string HelloWorldF2(DateTime time)
         {
             return string.Format("Hello World,the time is {0}.", time);
         }
         #endregion
         static void Main(string[] args)
        {
            Console.WriteLine("****************");
            //最老的方式
            Console.WriteLine("最老的方式");
            D1 d1 = new D1(HelloWorld);
            d1();

            D2 d2 = new D2(HelloWorld2);
            d2("Meteor");

            d2 = new D2(HelloWorld3);
            d2("开源控Meteor");
            Console.WriteLine("****************");
            //Console.ReadKey();
          
           //调用结束
           //2.0开始支持
            Console.WriteLine("****************");
            Console.WriteLine("2.0支持");
            D1 d11 = delegate
            {
                Console.WriteLine("Hello World!");
            };
            d11();
            D2 d22 = delegate(string name)
            {
                Console.WriteLine("Hello,{0}", name);
            };

            d22("Meteor");
            d22 = delegate(string name)
            {
                Console.WriteLine("你好,{0}!", name);
            };

            d22("开源控Meteor");
            Console.WriteLine("****************");
            //Console.Read();
            //调用结束
            //3.0开始支持 利用Lambda表达式   偷懒的作风
            Console.WriteLine("****************");
            Console.WriteLine("3.0利用lambda 偷懒的作风");
            D1 d13 = () => { Console.WriteLine("Hello World!"); };
            d13();

            D2 d23 = (string name) => { Console.WriteLine("Hello,{0}!", name); };
            d23("Meteor");

            d23 = (string name) => { Console.WriteLine("你好,{0}!", name); };
            d23("开源控Meteor");
            Console.WriteLine("****************");
            //Console.Read();
            //调用结束
            //4.0 4.5 可以使用Action Action其实也是一种委托
            Console.WriteLine("****************");
            Console.WriteLine("4.0 4.5 可以使用Action Action其实也是一种委托");
            A1 = new Action(HelloWorld);
            A1();

            A2 = new Action<string>(HelloWorld2);
            A2("Meteor");

            A2 = (string name) => { Console.WriteLine("你好,{0}!", name); };
            A2("开源控Meteor");

            A2 = delegate(string name) { Console.WriteLine("我就是委托  {0}   你说对吗?", name); };
            A2("开源控Meteor");
            Console.WriteLine("****************");
            //Console.Read();
            //调用结束 
            //Func带返回值的委托
            Console.WriteLine("****************");
            Console.WriteLine("Func带返回值的委托");
            F = new Func<string>(HelloWorldF1);
            Console.WriteLine(F());
            F2 = new Func<DateTime, string>(HelloWorldF2);
            Console.WriteLine(F2(DateTime.Now));     
            Console.WriteLine("****************");

            //D1 ddd = () => { Console.WriteLine("*&&&&&&&&&&&&&7"); };
            //ddd();
            //D2 dd = (string name) => { Console.WriteLine("hhhhhh   " + name); };
            //dd("111");
            Console.Read();
            //调用结束
        }
    }

优快云:下载地址:http://download.youkuaiyun.com/detail/kllxyu/5685249

百度网盘下载地址:http://pan.baidu.com/s/13Ouee

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值