Ale*_*yev 21 c# anonymous-function
我感兴趣的是,如果可以使用C#编写类似于这个Javascript的代码:
var v = (function()
{
return "some value";
})()
Run Code Online (Sandbox Code Playgroud)
我能做的最多是:
Func<string> vf = () =>
{
return "some value";
};
var v = vf();
Run Code Online (Sandbox Code Playgroud)
但是我想要这样的东西:
// Gives error CS0149: Method name expected
var v = (() =>
{
return "some value";
})();
Run Code Online (Sandbox Code Playgroud)
有没有办法调用函数让它匿名?
Tim*_*mwi 34
是的,但C#是静态类型的,因此您需要指定委托类型.
例如,使用构造函数语法:
var v = new Func<string>(() =>
{
return "some value";
})();
// shorter version
var v = new Func<string>(() => "some value")();
Run Code Online (Sandbox Code Playgroud)
...或者演员语法,可能会因为括号太多而变得混乱:)
var v = ((Func<string>) (() =>
{
return "some value";
}))();
// shorter version
var v = ((Func<string>)(() => "some value"))();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11741 次 |
| 最近记录: |