gpt4 book ai didi

c# - 定义一个lambda函数并立即执行

转载 作者:太空狗 更新时间:2023-10-29 18:08:15 34 4
gpt4 key购买 nike

我正在定义一个 lambda 并立即通过附加“()”来调用它。

尝试:

int i = (() => 0) ();

错误:

Error CS0119: Expression denotes a anonymous method', where amethod group' was expected

这是为什么?

最佳答案

您不是在“定义 lambda”..您是在用括号括起您认为是 1 的内容。

编译器不会推断出这种类型的事情。它需要上下文。您可以通过将 lambda 的表示分配或强制转换为委托(delegate)类型来为其提供上下文:

Func<int> f = () => 0;
int i = f();

上下文很清楚。如果你想要一个不清楚的..这种事情也有效:

int i = ((Func<int>)(() => 0))();

关于c# - 定义一个lambda函数并立即执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24220442/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com