1
我想知道是否有写这相当于任何方式:有没有一个C#等价于这个javascript-esqe代码? (立即调用一个lambda)
string test =() => { return "text"; }(); // Error
公告的()结尾,这将对立即评估,制定回归的效果值'测试'。
据我所知,没有办法做到这一点?
谢谢!
我想知道是否有写这相当于任何方式:有没有一个C#等价于这个javascript-esqe代码? (立即调用一个lambda)
string test =() => { return "text"; }(); // Error
公告的()结尾,这将对立即评估,制定回归的效果值'测试'。
据我所知,没有办法做到这一点?
谢谢!
你必须明确地指定委托类型:
string test = (new Func<string>(() => { return "text"; }))();
或只是
string test = (new Func<string>(() => "text"))();
,如果你这样做是为了减少一些变量的地方到拉姆达范围,你可以声明嵌套C#中方法的作用域例如
string test;
{
var r = new Random();
string i = r.Next().ToString();
test = i + i;
}
'字符串测试=新的函数功能(()=> “文本”)();' –
你有没有看到这个帖子:https://stackoverflow.com/questions/10198370/execute-lambda-expression - 立即定义后? –