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 - 立即定義後? –