ホームページ > バックエンド開発 > C++ > C#のIenumerable vs.リスト:いつ選択する必要がありますか?

C#のIenumerable vs.リスト:いつ選択する必要がありますか?

Mary-Kate Olsen
リリース: 2025-01-29 04:46:14
オリジナル
955 人が閲覧しました

IEnumerable vs. List in C#: When Should You Choose Which?

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 サイトの他の関連記事を参照してください。

    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    著者別の最新記事
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート