lambda是一种什么运算符?

 我来答
悦己文化
高粉答主

2023-07-13 · 人群里也是很寂寞的。
悦己文化
采纳数:690 获赞数:51714

向TA提问 私信TA
展开全部

=> 运算符可解读为“goes to”,意思为「移至」,称作 lambda 运算符。符号前面是声明变量(就是你写的小c),后面是表达式( c.name == id && c.password == pwd)。

该标记在 lambda 表达式中用来将左侧的输入变量与右侧的 lambda 体分离。Lambda 表达式是与匿名方法类似的内联表达式,但更加灵活;在以方法语法表示的 LINQ 查询中广泛使用了 Lambda 表达式。

Lambda表达式 RelayCommand(() => this.AddPerson(), () => this.CanAddPerson()); 

可以翻译为 RelayCommand(参数一, 参数二)。参数一 :() => this.AddPerson() 参数二 :() => this.CanAddPerson() 。() => this.AddPerson() 的意思是 一个没有参数的方法,返回this.AddPerson() 而这个返回值的类型不用指定 系统会自动判断 。同理 () => this.CanAddPerson() 就是 一个没有参数的方法返回this.CanAddPerson()

举例:

Func<int, int, int> Add = (x, y) => x + y;

Console.WriteLine(Add(2, 3)); // 5

扩展资料:

下列规则适用于 Lambda 表达式中的变量范围:

1、捕获的变量将不会被作为垃圾回收,直至引用变量的委托超出范围为止。

2、在外部方法中看不到 Lambda 表达式内引入的变量。

3、Lambda 表达式无法从封闭方法中直接捕获 ref 或 out 参数。

4、Lambda 表达式中的返回语句不会导致封闭方法返回。

5、Lambda 表达式不能包含其目标位于所包含匿名函数主体外部或内部的 goto 语句、break 语句或 continue 语句。

6、Lambda表达式的本质是“匿名方法”,即当编译我们的程序代码时,“编译器”会自动将“Lambda表达式”转换为“匿名方法”。

参考资料:

Microsoft官方API接口-Lambda Expressions (C# Programming Guide)


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式