Answers
什么是Lambda表达式
lambda其实就是匿名函数的概念,匿名函数就是允许在使用委托的地方通过"in-line"操作来写代码(其实就是delegate(int i) {... 这里...})。Lambda表达式提供了一个更简单更语法化的方式来书写匿名函数。它们在LINQ查询表达式中很有用-因为它们提供了更精简并且类型安全的方法来书写函数,就像传递参数一样
在什么时候用到它,它有什么优点
在什么时候用Lambda表达式呢?你可以对集合操作使用Lambda表达式。(但是你不能对函数使用Lambda表达式),用一句话说明,其实Lambda表达式的优点也就是简化了coding和增加了类型安全。
Lambda表达式的真面目是什么样的
(1)使用Lambda表达式在程序中:
static void Main(string[] args)
{
List<int> myList = new List<int> { 1,2,3,4,5 };
// 1.Lambda experssion
int val1 = myList.Find(i=> i == 4);
Console.WriteLine(val1);
Console.ReadKey();
}
(2)在近一步
static void Main(string[] args)
{
List<int> myList = new List<int> { 1,2,3,4,5 };
// 2. Lambda experssion using delegate
int val2 = myList.Find(delegate(int i) { return (i==4); });
Console.WriteLine(val2);
Console.ReadKey();
}
看一下区别,我把 i => i == 4表达式改成了一个委托 delegate(int i) { return (i==4); }。实现的效果是一样的。
Y笑的石头
answered 12 years, 7 months ago