一旦被编译,以下两者之间是否有区别:

delegate { x = 0; }

() => { x = 0 }

?

推荐答案

简短的回答是:没有.

可能不相关的较长答案:

  • 如果将lambda分配给委托类型(例如FuncAction),则会得到一个匿名委托.
  • 如果将lambda赋给表达式类型,您将获得表达式树而不是匿名委托.然后可以将表达式树编译为匿名委托.

编辑:

.net相关问答推荐

StackExchange.Redis和NRedisStack包有什么不同?

为什么我在环境变量中有不同的值?

在 Rx 中,处理线程安全是否是消费者(IObserver)的责任?

更改列表中的值

如何使用 C# 关键字作为属性名称?

SqlDateTime.MinValue != DateTime.MinValue,为什么?

异步总是 WaitingForActivation

如何将浮点数向上舍入到 C# 中最近的 int?

Silverlight 与 Flex

生产代码中的 System.Diagnostics.Debug.WriteLine

有什么方法可以在不重新编译的情况下覆盖 .NET Windows 服务名称?

双倍的? = 双倍? + 双倍?

MemoryStream.Close() 或 MemoryStream.Dispose()

Double.TryParse 或 Convert.ToDouble - 哪个更快更安全?

何时使用抽象类?

有没有像样的 C# 分析器?

将字典值转换为数组

C# 应用程序中的全局键盘捕获

如何隐藏 WPF ListView 的标题?

如何使用 XmlSerializer 将字符串序列化为 CDATA?