工作流程 window 基础 =()=>
workflow window foundation =()=>
= () =>
在c#中是什么意思?
我以前用过 lambda,但那些空括号 ()
让我失望。
熟悉这个:
customers.Find(x=>x.FirstName=="John")
这称为 lambda 表达式。本质上就是shorthand定义一个函数
这里有一个很好的教程来解释这个概念:
() => new Sequence
部分及其下方的块是一个不带参数的 lambda 函数,return 一个 Sequence
此 lambda 已分配给 this.Implementation
,以便您稍后可以调用 lambda。例如,var s = this.Implementation()
.
它正在为变量或 属性 this.Implementation 分配一个 lambda 表达式。您必须像这样分解运算符:
this.Implementation
= //assignment operator
()=> new Sequence { /* stuff */ };
()表示该方法不带参数; => 在调用 lambda 时将以下代码标识为 运行。
()
只是表示匿名方法没有参数。你习惯看到的方式,比如 customers.Find(x=>x.FirstName == "John")
是一样的...第一个 x
是传递给 lambda 的参数。如果只有一个参数,括号是可选的,所以这也可以这样写: customers.Find((x)=>x.FirstName == "John")
对于不带参数的方法, 'single parameter' 排除不适用,所以你必须写()
。你可以看到更多in the documentation.
lambda 调用之前的 =
正在将后面的方法体分配给 Implementation
属性。
= () =>
在c#中是什么意思?
我以前用过 lambda,但那些空括号 ()
让我失望。
熟悉这个:
customers.Find(x=>x.FirstName=="John")
这称为 lambda 表达式。本质上就是shorthand定义一个函数
这里有一个很好的教程来解释这个概念:
() => new Sequence
部分及其下方的块是一个不带参数的 lambda 函数,return 一个 Sequence
此 lambda 已分配给 this.Implementation
,以便您稍后可以调用 lambda。例如,var s = this.Implementation()
.
它正在为变量或 属性 this.Implementation 分配一个 lambda 表达式。您必须像这样分解运算符:
this.Implementation
= //assignment operator
()=> new Sequence { /* stuff */ };
()表示该方法不带参数; => 在调用 lambda 时将以下代码标识为 运行。
()
只是表示匿名方法没有参数。你习惯看到的方式,比如 customers.Find(x=>x.FirstName == "John")
是一样的...第一个 x
是传递给 lambda 的参数。如果只有一个参数,括号是可选的,所以这也可以这样写: customers.Find((x)=>x.FirstName == "John")
对于不带参数的方法, 'single parameter' 排除不适用,所以你必须写()
。你可以看到更多in the documentation.
lambda 调用之前的 =
正在将后面的方法体分配给 Implementation
属性。