Lambda“表达式”
2018-04-02 15:40
162 查看
Lambda“表达式”
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式树类型。Lambda 表达式是一种可用于创建 委托 或 表达式目录树 类型的 匿名函数 。 通过使用 lambda 表达式,可以写入可作为参数 传递或作为函数调用值返回的本地函数。 Lambda 表达式对于编写 LINQ 查询表达式特别有用。
如题C#中() =>是什么意思,比如
public ICommand AddCommand
{
get
{
if (this.addCommand == null)
this.addCommand = new RelayCommand(() => this.AddPerson(), () => this.CanAddPerson());
return this.addCommand;
}
}
=>是兰姆达表达式
g => g.Update(location) 的意思是一个函数,把这个函数按照传统方法展开是这个样子
void Func(GeoService g)
{
g.Update(location);
}
_geoServices.ForEach(g => g.Update(location)); 完全展开是这个样子
foreach(GeoService g in _geoServices)
{
g.Update(location);
}
ForEach是一个IEnumable的扩展方法,定义在其他地方,你没有列出来
兰姆达是.net 3.5的新语法RelayCommand(参数一, 参数二);
参数一 :() => this.AddPerson()
参数二 :() => this.CanAddPerson()
() => this.AddPerson() 的意思是 一个没有参数的方法,返回 this.AddPerson() 而这个返回值的类型不用指定 系统会自动判断
同理 () => this.CanAddPerson() 就是 一个没有参数的方法返回this.CanAddPerson()
相关文章推荐
- Lambda表达式学习
- Lambda表达式的背后到底是什么?
- python基础(07)——递归,lambda表达式,数学函数
- C++11 FAQ中文版:Lambda表达式
- java8 lambda表达式的几个示例
- Java 8 Lambda 表达式
- lambda表达式-转载
- java8 lambda表达式-语法
- lambda 表达式学习笔记
- 一个使用TBB Lambda 表达式实现并行执行的例子(转)
- c# lambda表达式
- Linq lambda表达式经验总结
- C++11初探:lambda表达式和闭包
- python -lambda表达式的用法
- Linq教程之Lambda表达式
- Lambda 表达式[MSDN]
- Android 中Lambda表达式的使用实例详解
- -source 1.5 中不支持 lambda 表达式(请使用 -source 8 或更高版本以启用 lambda 表达式)两种解决办法
- C++ 11 Lambda表达式
- Util应用程序框架公共操作类(十二):Lambda表达式公共操作类(三)