gpt4 book ai didi

c# - 为什么我不能使用这样的匿名方法?

转载 作者:太空宇宙 更新时间:2023-11-03 17:35:50 25 4
gpt4 key购买 nike

为什么我不能拥有这个?我的意思是它会省去一个委托(delegate)声明:

int X=delegate int(){...};

我知道可以这样做:
delegate int IntDelegate();
...
IntDelegate del=delegate(){return 25;};
int X=del();

最佳答案

委托(delegate)不是 int。

如果您使用 .Net 3.5 或更高版本,则可以使用内置的 Func 而不是使用自定义(如果您需要像 Func 这样标记字符串并返回 int 的参数,Func 也有通用类型):

Func<int> X = delegate() { return 255; };

或使用 lambda 表达式:
Func<int> X = () => 255;

不幸的是,你不能说:
var X2 = () => 255;

在 C# 中,但您可以在 F# 等函数式语言中执行类似的操作。相反,您会在 C# 中说以下内容:
var X2 = new Func<int>(() => 255);

关于c# - 为什么我不能使用这样的匿名方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3334977/

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