Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这个lambda函数是如何工作的?_C#_C# 4.0_Lambda - Fatal编程技术网

C# 这个lambda函数是如何工作的?

C# 这个lambda函数是如何工作的?,c#,c#-4.0,lambda,C#,C# 4.0,Lambda,我有一个带有此签名的函数: public DeleteCommand(IService service, Func<bool> canExecute, Action<ContactModel> deleted) 我不明白坎德莱特到底是什么意思。作为Func函数,它必须返回一些值 ()=> 表示它没有输入参数。但返回的值是什么?为什么没有返回 在lambda?类似于()=>return CanDelete?表达式lambda(如您所示)返回=>后面表达

我有一个带有此签名的函数:

public DeleteCommand(IService service, 
    Func<bool> canExecute, Action<ContactModel> deleted)
我不明白坎德莱特到底是什么意思。作为
Func
函数,它必须返回一些值

()=> 
表示它没有输入参数。但返回的值是什么?为什么没有
返回

在lambda?类似于
()=>return CanDelete

表达式lambda(如您所示)返回
=>
后面表达式的结果。
return
关键字是推断出来的,实际上不能显式包括在内。语句lambda(其形式为
()=>{someStatements;}
)不推断返回值,如果它不是
void
,则需要显式
返回
,表达式lambda(如您所示)返回
=>后面表达式的结果。
return
关键字是推断出来的,实际上不能显式包括在内。语句lambda(其形式为
()=>{someStatements;}
)不会推断返回值,如果它不是
无效的话,则需要显式的
返回值
,或者换句话说(希望有助于澄清),
()=>CanDelete
意味着
()=>{return CanDelete;}
,谢谢,这就是我需要知道的。或者,换句话说(希望帮助澄清),
()=>CanDelete
的意思是
()=>{return CanDelete;}
。谢谢,这就是我需要知道的。
()=>