A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wang29901 中级黑马   /  2013-11-28 17:47  /  2416 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wang29901 于 2013-11-29 09:16 编辑

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

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

5 个回复

倒序浏览
lambad就是事件指向委托的简易版写法
例:public delegate bool FilterDelegate(string s);  //声明一个委托
FilterDelegate f = (s1) => {
       Console.WriteLine(s1);
       return false;//一定要加返回值
};//不要忘了加分号,因为这是一句话。
f(“sad”);
console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报

lambda表达式的参数列表的要点:
                1、lambda表达式参数列表中的参数必须在参数数量/类型/和位置上与委托想匹配
                2、表达式的参数列表中的参数不一定需要包含类型,除非委托有ref和out参数,此时类型是必须的
                3、如果只有一个参数,比且是隐式类型的,周围的圆括号可以被省略,否则它就是必须的
                4、如果没有参数,必须使用一组空的圆括号。()=>{...}

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
“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:}

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
这个是委托的简易写法我才看到这里...具体还不是很懂
回复 使用道具 举报
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();
}

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马