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;}
。谢谢,这就是我需要知道的。
()=>