我没有使用过匿名方法。我找到了一个代码,其中列表正在迭代,如代码片段1所示。为什么代码片段1优先于2?
List<String> names = new List<String>();
...
//Code snippet 1
names.ForEach(delegate(String name)
{
Console.WriteLine(name);
});
//Code snippet 2
foreach (string name in names)
{
Console.WriteLine(name);
}
答案 0 :(得分:7)
我没有看到片段1使用得太多。我确实看到了使用lambda表达式的变体。
names.ForEach(x=> Console.WriteLine(x));
答案 1 :(得分:0)
在这种情况下,没有任何好处。
您会发现在您的示例中使用方法2的较旧程序员,而较新的程序员可能会使用方法1.
较早的程序员在匿名方法之前有更多的经验,匿名方法是新的,而不是“在他们的灵魂中根深蒂固”,他们自动编程风格#2。
新程序员可能会使用#1,因为他们一直认为一切都是方法调用。