c#委托中的匿名方法和lambda表达式

一、一般委托方式

        Func<int, int, int> AddMethodHander;

        public unName()
        {
            AddMethodHander += AddMethod;
        }

        public int AddMethod(int num1, int num2)
        {
            int result = num1 + num2;
            Console.WriteLine(result);
            return result;
        }

        public void Test1()
        {
            AddMethodHander.Invoke(20, 30);
        }

步骤:先实例化委托,注册方法的委托,调用委托。

二、使用匿名方法

        public void Test2()
        {
            Func<int, int, int> FunMeHandle = delegate(int num1, int num2)
            {
                return num1 + num2;
            };

            int result = FunMeHandle.Invoke(21, 31);
            Console.WriteLine(result);
        }

将实例化委托和委托方法进行了合并,最后调用委托。

三、使用lambda表达式

        public void Test3()
        {
            Func<int, int, int> FunMeHan = ( num1, num2) =>num1 + num2;

            int result = FunMeHan.Invoke(10, 52);
            Console.WriteLine(result);
        }

从委托-------匿名方法----------Lambda表达式,不断的简化程序的代码量。

原文地址:https://www.cnblogs.com/linybo/p/13339577.html