C#中() =>是什么意思

C#中() =>是什么意思

如题C#中()=>是什么意思,比如publicICommandAddCommand{get{if(this.addCommand==null)this.addCommand=newRelayCommand(()=>this.AddPerson(),()=>this.CanAddPerson());returnthis...展开

 我来答 

分享

 举报浏览 81529 次

7个回答

#星座# 巨蟹座以温柔著称,那么它的母性是天生的吗?

Asherwdh 
来自百度知道认证团队 2018-10-09

这是NET3.0以后的新特性 Lambda表达式 ,“Lambda 表达式”是一个匿名函数Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象,是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。

扩展资料

关于Lambda表达式的使用方法

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

使用基于方法的语法在 Enumerable 类中调用 Where 方法时(像在 LINQ to Objects 和 LINQ to XML 中那样),参数是委托类型 System..::.Func<(Of <(T, TResult>)>)。使用 Lambda 表达式创建委托最为方便。

例如,当您在 System.Linq..::.Queryable 类中调用相同的方法时(像在 LINQ to SQL 中那样),则参数类型是 System.Linq.Expressions..::.Expression<Func>,其中 Func 是包含至多五个输入参数的任何 Func 委托。

同样,Lambda 表达式只是一种用于构造表达式目录树的非常简练的方式。尽管事实上通过 Lambda 创建的对象的类型是不同的,但 Lambda 使得 Where 调用看起来类似。

在前面的示例中,请注意委托签名具有一个 int 类型的隐式类型输入参数,并返回 int。可以将 Lambda 表达式转换为该类型的委托,因为该表达式也具有一个输入参数 (x),以及一个编译器可隐式转换为 int 类型的返回值。(以下几节中将对类型推理进行详细讨论。)使用输入参数 5 调用委托时,它将返回结果 25。

资料来源:百度百科:Lambda表达式

原文地址:https://www.cnblogs.com/grj001/p/12224567.html