黑马程序员技术交流社区

标题: lambda表达式是什么,怎么使用 [打印本页]

作者: wang29901    时间: 2013-11-28 17:47
标题: lambda表达式是什么,怎么使用
本帖最后由 wang29901 于 2013-11-29 09:16 编辑

lambda表达式是什么,怎么使用

作者: xydsdsr    时间: 2013-11-28 18:20
lambad就是事件指向委托的简易版写法
例:public delegate bool FilterDelegate(string s);  //声明一个委托
FilterDelegate f = (s1) => {
       Console.WriteLine(s1);
       return false;//一定要加返回值
};//不要忘了加分号,因为这是一句话。
f(“sad”);
console.ReadKey();
作者: Goes_By    时间: 2013-11-28 19:04

lambda表达式的参数列表的要点:
                1、lambda表达式参数列表中的参数必须在参数数量/类型/和位置上与委托想匹配
                2、表达式的参数列表中的参数不一定需要包含类型,除非委托有ref和out参数,此时类型是必须的
                3、如果只有一个参数,比且是隐式类型的,周围的圆括号可以被省略,否则它就是必须的
                4、如果没有参数,必须使用一组空的圆括号。()=>{...}
作者: u010209195    时间: 2013-11-28 21:48
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。
所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。Lambda 表达式 x => x * x 读作“x goes to x times x”。可以将此表达式分配给委托类型,如下所示:
  1. delegate int del(int i);
  2. del myDelegate = x => x * x;
  3. int j = myDelegate(5); //j = 25
复制代码

Lambda 用在基于方法的 LINQ 查询中,作为诸如 Where 和 Where 等标准查询运算符方法的参数

具体的楼主可以去MSDN搜"Lambda 表达式",上面讲的非常的详细{:soso_e130:}
作者: Sayme    时间: 2013-11-28 22:05
这个是委托的简易写法我才看到这里...具体还不是很懂
作者: 黑马—严守卫    时间: 2013-11-28 22:08
Lambda 表达式是一个匿名函数; 所有 Lambda 表达式都使用 Lambda 运算符 =>读为“goes to”。Lambda 语句的主体一般为两个或三个语句。
static void Main(string[] args)
{
    List<int> myList = new List<int> { 1,2,3,4,5 };
    //使用lambda表示方便书写及类型安全
    int val1 = myList.Find(i=> i == 4);
    Console.WriteLine(val1);
     Console.ReadKey();
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2