委托到匿名委托到Lambda表达式
一直以来,委托都是c#编程工作的重点,难点。有时明明觉得自己理解了,但用起来总是磕磕绊绊的。所以编写此文用以记录。
一.声明一个委托
public delegate void GreetingDelegate(string name);
二.用这个委托声明一个变量
1. 简单声明,声明后赋值
GreetingDelegate greetingDelegate=new GreetingDelegate(sayHello);//从此处可以看出,委托其实是一个类 void sayHello(string name) { Console.WriteLine(name); }
2.声明变量时,直接赋值
//匿名委托 GreetingDelegate greetingDelegate=delegate (string name) { Console.WriteLine(name);}; //Lambda表达式 greetingDelegate+= (string name) => { Console.WriteLine(name);}; //Lambda表达式更简单的 greetingDelegate+= name => { Console.WriteLine(name);};
三.运行委托
greetingDelegate("Joey");
总结如下:
一切基于微软的智能推导