c# - 实例化委托(delegate) (Func<T, T>) 的各种方式之间的区别?

标签 c# syntax delegates anonymous-function func

1:

Func<int, int> myFunc = new Func<int,int>(delegate(int x) {
    return x + 1;
});

2:

Func<int, int> myFunc = delegate(int x) {
    return x + 1;
};

3:

Func<int, int> myFunc = x => x + 1;

它们有什么区别?

最佳答案

它们都是一样的 - 只是 syntactic sugar编译成同样的东西。

也就是说 - 使用类型推断和其他编译器优点,3 只是表示 1 的非常非常短的方式。

关于c# - 实例化委托(delegate) (Func<T, T>) 的各种方式之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041955/

相关文章:

c# - 从问题中生成不同路径的矩阵?,排列?,组合?

C# 泛型委托(delegate)类型推断

ios - 我该如何解决这个委托(delegate)错误?

AFNetworking 的 iOS block 问题

ruby - Sinatra 中使用表单字段的语法错误

iphone - Xcode 应用程序委托(delegate)给每个 View Controller

c# - 从 WebAPI 返回自定义 HTTP 状态代码?

c# - SQL 表上的 XML 读取器返回无效 XML

c# - 如何构建软件框架

c - 为什么指针声明中的星号特定于标识符而不是数据类型?