ListとIEnumerableの実用的な違い [重複]について
2023-09-01 17:58:14
質問
同じような投稿を読んで、ListがIEnumerableの一種であることを知りました。しかし、私はその2つの実用的な違いが実際に何であるかを本当に疑問に思っています。
いつもListを使っていて、IEnumerableを使ったことがない人へ。
- この 2 つの間の実用的な違いは何ですか?
- どのようなシナリオで、一方が他方よりも優れているのでしょうか?
以下は 実用例です。 : 4つの文字列を保存し、アルファベット順に並べ、別の関数に渡し、その結果をユーザに見せたい。何を使うか、なぜ使うか?
誰かがこれを解決してくれるか、正しい方向を示してくれることを願っています。 前もってありがとうございます。
どのように解決するのですか?
IEnumerableとListの重要な違いの1つは(一方がインタフェースで他方が具象クラスであることの他に)、IEnumerableは読み取り専用でListはそうでないということです。
したがって、コレクションに永続的な変更 (追加と削除) を行う機能が必要な場合は、List が必要です。 もし、コレクションの読み込み、ソート、フィルタリングが必要なだけなら、IEnumerable で十分です。
つまり、この例では、4 つの文字列を一度に 1 つずつ追加したい場合は、List が必要です。 しかし、コレクションを一度にインスタンス化するのであれば、IEnumerable を使用することができます。
IEnumerable firstFourLettersOfAlphabet = new[]{"a","b","c","d"};
そして、LINQを使って、好きなようにリストをフィルタリングしたり、ソートしたりすることができます。
関連
-
[解決済み] 投げる」と「投げる元」は違うのですか?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】IEnumerable vs List - What to Use? どのように動作するのでしょうか?