ある同僚は、for ループを使用して、自分が作成した C# コードで List を反復処理し、「For Each を使用しなかったのは、それが順番に反復されるかどうか確信が持てなかったからです。Microsoft が何をするかは誰にもわかりません。」とコメントを残しました。たとえば、次のように構築された List があるとします。
var someList = new List<string>();
someList.Add("one");
someList.Add("two");
someList.Add("three");
私の同僚は次のようなものを使用しました:
for (int i = 0; i < someList.Count; i++)
{
System.Diagnostics.Debug.WriteLine(someList[i]);
}
これの代わりに:
foreach (var item in someList)
{
System.Diagnostics.Debug.WriteLine(item);
}
コレクションに追加された順序とは異なる順序でアイテムが表示されるのではないかと心配しているようです。彼は少し偏執的だと思いますが、技術的には、ドキュメントにはコレクションが反復される順序が記載されていません。foreach ステートメントが配列またはコレクション オブジェクトを、下限から上限以外の任意の順序でトラバースすることは可能ですか?