[解決済み] C#で "Empty List "シングルトンは存在するか?
2023-04-17 08:52:44
質問
C#では、LINQとIEnumerableをよく使っています。そして、すべてがうまくいっています (または、少なくともほとんどそうです)。
しかし、多くの場合、私は空の
IEnumerable<X>
をデフォルトとして使用する必要があります。つまり、私は
for (var x in xs) { ... }
を使えば、NULLチェックをしなくても動作します。現在、私が大きな文脈に応じて行っているのは、このようなことです。
var xs = f() ?? new X[0]; // when xs is assigned, sometimes
for (var x in xs ?? new X[0]) { ... } // inline, sometimes
さて、上記は 私にとっては全く問題ありません -- つまり、配列オブジェクトを作成する際に余分なオーバーヘッドがある場合、私は 気にしない
私は不思議に思っていました。
C#/.NET のシングルトンには "空の immutable IEnumerable/IList" がありますか? (また、ないとしても、上記のようなケースを処理する "better" があるでしょうか?)
Java には
Collections.EMPTY_LIST
不変のシングルトン -- "well-typed" via
Collections.emptyList<T>()
-- はこの目的に適っていますが、ジェネリックの扱いが異なるため、同様のコンセプトが C# で機能するかどうかさえわかりません。
ありがとうございます。
どのように解決するのですか?
あなたが探しているのは
Enumerable.Empty<T>()
.
他のニュースとして、Java の空リストは、リストインターフェイスが例外を投げるリストに要素を追加するためのメソッドを公開しているため、最悪です。
関連
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み] Swiftでdispatch_onceのシングルトンモデルを使う
-
[解決済み] デザインパターンについて。シングルトンはいつ使うべきですか?
-
[解決済み】C++ シングルトンデザインパターン
-
[解決済み】IEnumerable vs List - What to Use? どのように動作するのでしょうか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] 空のIEnumerableを返すにはどうしたらいいですか?