要素List<Foo> foos
の現在の順序が重要な場所があるとします。GroupBy
その後、 、Where
またはなどの LINQ 列挙型メソッドを適用すると、元のリストと同じ相対的な順序で反復するためSelect
に、結果に依存できますか?IEnumerable<Foo>
2506 次
1 に答える
19
はい、Enumerable
メソッド(あなたが言及したものに適用されるLINQ to Objects )の場合、 、、またはList<T>
によって返される要素の順序に依存できます。これは、やのように本質的に順序付けされていないものには当てはまりません。Select
Where
GroupBy
ToDictionary
Distinct
Enumerable.GroupByドキュメントから:
オブジェクトは、
IGrouping<TKey, TElement>
それぞれの最初のキーを生成した source 内の要素の順序に基づいた順序で生成されますIGrouping<TKey, TElement>
。グループ内の要素は、 に表示される順序で生成されsource
ます。
IQueryable
これは、拡張メソッド (他の LINQ プロバイダー)には必ずしも当てはまりません。
于 2011-05-27T00:59:55.403 に答える