1.委托中的具名方法和匿名方法:
仅记下一段代码诠释把:
(1)具名方法:
1 class Program 2 { 3 public static int Add20(int x) 4 { 5 return x + 20; 6 } 7 delegate int OtherDel(int Inparam); 8 static void Main(string[] args) 9 { 10 OtherDel del = Add20; 11 12 Console.WriteLine("{0}", del(5)); 13 Console.WriteLine("{0}", del(6)); 14 } 15 }
输出结果:
25
26
(2)匿名方法
1 class Program 2 { 3 delegate int OtherDel(int Inparam); 4 static void Main(string[] args) 5 { 6 OtherDel del = delegate(int x) 7 { 8 return x + 20; 9 }; 10 11 Console.WriteLine("{0}", del(5)); 12 Console.WriteLine("{0}", del(6)); 13 } 14 }
输出结果 同上:
25
25
2.Lambda表达式
把 匿名方法 转换成 Lambda表达式
(1)删除delegate关键字
(2)在参数列表和匿名方法主题之间方lambda运算符=>.lambda运算符读作 "goes to".
1 OtherDel del=delegate(int x) {return x+5};//匿名方法 2 OtherDel le1= (int x)=>{return x+5};//Lambda表达式 3 OtherDel le2= (x)=>{return x+5};//Lambda表达式 4 OtherDel le3= x =>{return x+5};//Lambda表达式 5 OtherDel le4= x => x+5 ;//Lambda表达式