如何在 C# 中调用匿名函数? [英] How to call anonymous function in C#?
本文介绍了如何在 C# 中调用匿名函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果可以使用 C# 编写类似于此 Javascript 的代码,我很感兴趣:
I am interested if it's possible using C# to write a code analogous to this Javascript one:
var v = (function()
{
return "some value";
})()
我能达到的最大目标是:
The most I could achieve is:
Func<string> vf = () =>
{
return "some value";
};
var v = vf();
但我想要这样的东西:
// Gives error CS0149: Method name expected
var v = (() =>
{
return "some value";
})();
有什么方法可以调用函数而让它匿名吗?
Are there some way to call the function leaving it anonymous?
推荐答案
是的,但是 C# 是静态类型的,所以你需要指定一个委托类型.
Yes, but C# is statically-typed, so you need to specify a delegate type.
例如,使用构造函数语法:
For example, using the constructor syntax:
var v = new Func<string>(() =>
{
return "some value";
})();
// shorter version
var v = new Func<string>(() => "some value")();
... 或强制转换语法,括号过多会导致混乱:)
... or the cast syntax, which can get messy with too many parentheses :)
var v = ((Func<string>) (() =>
{
return "some value";
}))();
// shorter version
var v = ((Func<string>)(() => "some value"))();
这篇关于如何在 C# 中调用匿名函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文