使用Lambda表达式与普通的foreach循环相比,是否会为垃圾回收产生更多的垃圾?
// Lambda version
Foos.ForEach(f=>f.Update(gameTime));
// Normal approach:
foreach (Foo f in Foos)
{
f.Update(gameTime);
}
CLR性能分析器显示我有69.9%的system.Action<T>,我怀疑这是上面所述的foreach循环的lambda版本。这是真的吗?
编辑:我使用了微软的CLR性能分析器:http://download.microsoft.com/download/4/4/2/442d67c7-a1c1-4884-9715-803a7b485b82/clr%20profiler.exe或者http://msdn.microsoft.com/en-us/library/ff650691.aspx。
ForEach
完全没有任何有用的功能。 - Aaronaught