[解決済み] NULL合体演算子のユニークな使い方【終了しました
2022-04-23 17:41:31
質問
の標準的な使い方は知っています。 null合体演算子 C# では、デフォルト値を設定することです。
string nobody = null;
string somebody = "Bob Saget";
string anybody = "";
anybody = nobody ?? "Mr. T"; // Returns Mr. T
anybody = somebody ?? "Mr. T"; // Returns "Bob Saget"
しかし、他に何ができるかというと
??
に使えるのでしょうか?のような便利さはなさそうです。
三項演算子
よりも簡潔で読みやすいということを除けば、です。
nobody = null;
anybody = nobody == null ? "Bob Saget" : nobody; // Returns Bob Saget
だから、null合体演算子について知っている人が少ないことを考えると......。
-
を使用したことがありますか?
??
を他の何かに使用することはできますか? -
は
??
それとも三項演算子を使うべきでしょうか? を使用します。)
解決方法は?
まず、標準的な三項演算子よりも連鎖しやすくなっていますね。
string anybody = parm1 ?? localDefault ?? globalDefault;
vs.
string anyboby = (parm1 != null) ? parm1
: ((localDefault != null) ? localDefault
: globalDefault);
また、null-possibleオブジェクトが変数でない場合もうまくいきます。
string anybody = Parameters["Name"]
?? Settings["Name"]
?? GlobalSetting["Name"];
vs.
string anybody = (Parameters["Name"] != null ? Parameters["Name"]
: (Settings["Name"] != null) ? Settings["Name"]
: GlobalSetting["Name"];
関連
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] JavaScriptに「NULL合体」演算子はありますか?
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み] Pythonでnullオブジェクトを参照する
-
[解決済み] nullはなぜオブジェクトなのか、nullとundefinedの違いは何ですか?
-
[解決済み] NULL-COALESCING 演算子のカスタム暗黙変換の不思議な挙動
-
[解決済み] はどのように使うのですか?(条件)演算子をJavaScriptで使うには?
-
[解決済み] PHPの三項演算子とNULL合体演算子の比較
-
[解決済み] C#のnull-coalescing演算子に相当するPythonの演算子はありますか?
最新
-
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に変換する際にジェネリックエラーが発生しました。
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み] 三元化するのか、しないのか?[クローズド]