5

foreachを使用して配列を反復処理する場合、要素が返される順序が配列[0]、配列[1]、配列[2]、...の順序であるという保証はありますか?

これが Array クラスの現在の実装方法であることは知っていますが、フレームワークの将来のバージョンに対する保証はありますか? 同じ質問が List<> にも当てはまります。

4

3 に答える 3

5

保証はありません。ほとんどのリスト/配列の実装は値を順番に返しますが、特にあまり一般的でないコレクション クラスのいくつかでは、確実に例外があります。(たとえば、C5 では、多くのコレクションが、列挙されたときに追加された順序とは非常に異なる順序で値を返します。)

于 2009-03-24T16:30:57.003 に答える
0

設計上の保証はありません。foreach は順序のない列挙を目的としており、ランタイムが複数の要素を並行して処理する可能性があることを意味します。列挙の順序に依存するべきではありません。

于 2009-03-24T16:33:07.810 に答える