1. 程式人生 > >c#委托中的匿名方法和lambda表達式

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

add delegate st3 void class 合並 代碼量 span pre

一、一般委托方式

        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表達式,不斷的簡化程序的代碼量。

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