考虑一下:
必备:
//The alphabet from a-z
List<char> letterRange = Enumerable.Range('a', 'z' - 'a' + 1)
.Select(i => (Char)i).ToList(); //97 - 122 + 1 = 26 letters/iterations
标准foreach:
foreach (var range in letterRange)
{
Console.Write(range + ",");
}
Console.Write("\n");
内置foreach:
letterRange.ForEach(range => Console.Write(range + ",")); //delegate(char range) works as well
Console.Write("\n");
我尝试过将它们相互定时,内置的 foreach 速度提高了 2 倍,这似乎很多。
我已经用谷歌搜索了,但我似乎找不到任何答案。
另外,关于:在 .NET 中,哪个循环运行得更快,“for”还是“foreach”?
for (int i = 0; i < letterRange.Count; i++)
{
Console.Write(letterRange[i] + ",");
}
Console.Write("\n");
据我所知,它的执行速度并不比标准 foreach 快。