标签:
Lambda表达式其实并不陌生,他的前生就是匿名函数,所以要谈Lambda表达式,就不得不谈匿名函数,要谈匿名函数,那又要不得不谈委托。
delegate int ProcessInt(int i);
void Sample(ProcessInt pro)
int Double(int i) { return i * 2; } int Divide(int i) { return Convert.ToInt32(i / 2); }
Sample(delegate(int i) { return i * 2; }); //匿名方法
Sample(i => i * 2); //Lambda表达式
Sample2((i, k) => i * k);
代码:
执行Test就可以验证结果。
delegate int ProcessInt(int i); delegate int Add(int i, int k); int Double(int i) { return i * 2; } int Divide(int i) { return Convert.ToInt32(i / 2); } void Sample(ProcessInt pro) { int i = 30; Console.WriteLine(pro(i)); } void Sample2(Add pro) { int i = 30; int k = 5; Console.WriteLine(pro(i,k)); } public void Test() { Sample(Double); Sample(Divide); //委托 Sample(delegate(int i) { return i * 2; }); //匿名方法 Sample(i => i * 2); //Lambda表达式 Sample(i => Convert.ToInt32(i / 2)); Sample2((i, k) => i * k); }
标签:
原文地址:http://www.cnblogs.com/etoah/p/4248684.html