12

要素List<Foo> foosの現在の順序が重要な場所があるとします。GroupByその後、 、Whereまたはなどの LINQ 列挙型メソッドを適用すると、元のリストと同じ相対的な順序で反復するためSelectに、結果に依存できますか?IEnumerable<Foo>

4

1 に答える 1

19

はい、Enumerableメソッド(あなたが言及したものに適用されるLINQ to Objects )の場合、 、、またはList<T>によって返される要素の順序に依存できます。これは、やのように本質的に順序付けされていないものには当てはまりません。SelectWhereGroupByToDictionaryDistinct

Enumerable.GroupByドキュメントから:

オブジェクトは、IGrouping<TKey, TElement>それぞれの最初のキーを生成した source 内の要素の順序に基づいた順序で生成されますIGrouping<TKey, TElement>。グループ内の要素は、 に表示される順序で生成されsourceます。

IQueryableこれは、拡張メソッド (他の LINQ プロバイダー)には必ずしも当てはまりません。

于 2011-05-27T00:59:55.403 に答える