gpt4 book ai didi

c# - 在 C# 中编写匿名函数的推荐方法是什么?

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

var seq = Enumerable.Range(1, 10).Reverse();
var sort1 = seq.OrderBy(i => i);
var sort2 = seq.OrderBy(delegate(int i) { return i; });

我认为 sort2 更明确,但 sort 1 更短。除此之外,我真的不知道有什么区别。推荐的做法是什么?

最佳答案

Lambda 表达式 (IMO) 在任何情况下都优于匿名方法除了您不关心参数的情况,在这种情况下有一个很好的捷径:

// Lambda expression has to specify parameter types
EventHandler x = (sender, args) => Console.WriteLine("Hi");

// Anonymous method can ignore them
EventHandler x = delegate { Console.WriteLine("Hi"); };

Lambda 表达式还有另外两个“问题”IMO:

  • 显然,如果您不使用 C# 3,它们将不可用。(尽管您可以从 VS2008 以 .NET 2.0 为目标并仍然使用它们。)
  • 无参数 lambda 表达式的语法有点笨拙:

    () => stuff

关于c# - 在 C# 中编写匿名函数的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1040235/

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