c#
のienumerableとリストの違いとパフォーマンス効果 C#でコレクションを扱うとき、
との違いは非常に重要です。 IEnumerable
は、コレクションを通過する方法を提供する列挙者を表します。 List
IEnumerable
次の2つのlinqクエリを検討してください:List
IEnumerable
<code class="language-csharp">List<animal> sel1 = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct().ToList(); IEnumerable<animal> sel2 = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct();</code>
パフォーマンスに関する考慮事項
は通常、列挙クエリまで遅延するため、より好まれます。 を使用してすぐに計算され、特定の結果を強制すると、最適化の機会が制限される場合があります。
IEnumerable
しかし、クエリを複数回実行する必要がある場合は、毎回クエリの計算を防ぐことができるため、より効率的に変換されます。
シーンを使用を使用します
以下の状況に適用可能:
IEnumerable
ToList()
遅くまで実行を遅らせたい。
クエリパフォーマンスを最適化したい。 List
以下の状況に適用可能:
IEnumerable
クエリが何度も実行されないようにする必要があります。
とList
の間の選択は、アプリケーションの特定の要件に依存します。実行とパフォーマンスの最適化については、
以上がC#のIenumerable vs.リスト:いつ選択する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。