このことを考慮:
必要条件:
//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よりも速く実行されるようには動作しません。