IENUMERABLE vs.リスト:LINQ
のパフォーマンスに関する考慮事項linqおよび列挙者を使用して作業する場合、IEnumerable
とList
を選択すると、パフォーマンスに大きな影響を与えます。 IEnumerable
動作を定義しますが、List
は具体的な実装です。この区別は、最適な使用法を理解するための鍵です
なぜ?IEnumerable
を選択するのか
の採用により、強力なパフォーマンス最適化手法である延期された実行が可能になります。 これは、複数のLINQ式をつなぐときに特に有利です。 延期された実行とは、結果が実際に必要になるまでクエリが実行されないことを意味し、LINQプロバイダーによる潜在的な最適化を可能にします。
IEnumerable
これらのlinqクエリを検討してください:
<code class="language-csharp">public IEnumerable<Animal> AllSpotted() { return from a in Zoo.Animals where a.Coat.HasSpots select a; } public IEnumerable<Animal> Feline(IEnumerable<Animal> animals) { return from a in animals where a.Race.Family == "Felidae" select a; } public IEnumerable<Animal> Canine(IEnumerable<Animal> animals) { return from a in animals where a.Race.Family == "Canidae" select a; }</code>
IEnumerable
:パフォーマンストレードオフ List
IEnumerable
クエリを1回だけ実行し、繰り返し処理を避ける必要がある場合は、がより高速なアクセスを提供する場合がありますが、一般的に優れたパフォーマンスを提供します。 リストへの変換を遅らせ、冗長なデータベース呼び出しを削減し、データの操作を最小限に抑えます。
概要List
IEnumerable
との間の最良の選択は、特定のニーズにかかっています。 延期された実行とクエリの最適化の場合、がより良いオプションです。 即時の具体化と繰り返しのクエリ実行の回避が最重要である場合、
がより適しています。 動作抽象化()と具体的な実装(IEnumerable
)の違いを理解することは、効率的なコードを作成するために重要です。
以上がIenumerable vs. List:最適なパフォーマンスのためにいつ選択する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。