我是否遗漏了某些内容,或者无法从lambda函数返回值,例如..
Object test = () => { return new Object(); };
要么
string test = () => { return "hello"; };
我得到一个构建错误“无法将lambda表达式转换为'string'类型,因为它不是委托类型” .
这就像这个语法分配lambda而不是lambda的结果,我没想到 . 我可以通过将函数分配给Func并按名称调用它来实现所需的功能,但这是唯一的方法吗?
请不要“为什么你需要这样做?”关于我的例子 .
提前致谢!
1 回答
这是可能的,但您正在尝试将lambda分配给
string
. - 你需要调用lambda:错误消息实际上说明了一切:
......这正是这里的问题 .
如果你想调用lambda内联 - 但是真的:为什么? - 你也可以这样做,你只需要首先明确地将它变成一个委托: