問題タブ [null-coalescing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
17 に答える
429498 参照

javascript - JavaScriptに「null合体」演算子はありますか?

Javascriptにnull合体演算子はありますか?

たとえば、C# では次のようにできます。

Javascript について私が把握できる最良の概算は、条件演算子を使用することです。

これはちょっと厄介な私見です。私はもっ​​とうまくやれるだろうか?

0 投票する
7 に答える
70277 参照

c# - C#で二重疑問符は何をしますか?

可能な重複:
?? Null 合体演算子 --> 合体とはどういう意味ですか?
C#で2つのクエスチョンマークを一緒にすると何を意味しますか?

この質問がここで尋ねられているのを見つけることができなかったので、質問することにしました。C#で二重疑問符は何をしますか?

例:

0 投票する
5 に答える
540 参照

c# - C#の?? =演算子についてどう思いますか?

C#は?? =演算子のようなものをサポートすると思いますか?

これの代わりに:

次のように書くことができるかもしれません:

今、私は使用することができました(しかし、それは私にはよく読めないようです):

0 投票する
2 に答える
1933 参照

c# - IEnumerablenull 合体 拡張機能

foreach または LINQ クエリを使用して an を反復処理する前に、 an が null であるかどうかを確認するという問題に頻繁に直面しIEnumerable<T>ます。その後、次のようなコードになることがよくあります。

したがって、この拡張メソッドを Extensions クラスに追加することを考えました。

このコードを見てすぐにちょっとした問題が頭に浮かびます。つまり、拡張メソッドの「インスタンス メソッドの側面」を考えると、単なる静的メソッドとして実装する必要があります。そうでなければ、このようなものは完全に合法です。

それを使用する上で他に欠点はありますか?
このような拡張機能が大量に使用された場合、開発者に何らかの悪い傾向をもたらす可能性はありますか?


おまけの質問:

より良い名前を提案できますか? :)
(英語は私の母国語ではないので、ネーミングは苦手です...)

前もって感謝します。

0 投票する
3 に答える
824 参照

c# - C#合体演算​​子はnullメソッドの戻り値を置き換えませんか?

私はこのコードを持っています:

これは方法です:

そのためFirstOrDefault()、「ctx」オブジェクトであるエンティティ フレームワーク コンテキストでヒットが見つかりません。したがって、返される「デフォルト」値は ですnull。これは、クエリのターゲットがクラスであるためです。

を使用したコードの最初のビットの結果は、次の??ように_localMyClassなります。私はそれがnew MyClass(). 代わりに、_localMyClassnull になります。さまざまな括弧のセットでロジックをグループ化しようとしましたが、それでもうまくいきません。

さらに奇妙です。MyClassDAO.GetMyClassByID(123) ?? new MyClass()デバッグ ブレーク ポイントを設定し、Visual Studio のウォッチ画面に をコピー アンド ペーストすると、結果はnew MyClass()ではなく になりnullます。

なぜこのように機能するのか、誰か説明できますか? メソッドの戻り値を認識せずnull、代わりにそのnew部分を使用するのはなぜですか?

0 投票する
2 に答える
11626 参照

postgresql - PostgresqlCOALESCEのパフォーマンスの問題

私はPostgresqlにこのテーブルを持っています:

my_tableには最大50000行あります。

問題は、なぜクエリが:

これより遅いです:

app-layerでクエリ文字列を最適化する以外に解決策はありますか?

編集:実際には、問題は、Postgresql9.0select * from my_table where id=coalesce(?, id) and value=?のパフォーマンス以上の最悪の場合のパフォーマンスを持つようにクエリを書き直す方法です。select * from my_table where value=?

0 投票する
10 に答える
4899 参照

c# - null 文字列プロパティをチェックする関数?

stringたとえば、体重と身長を持つ患者オブジェクトなど、プロパティを持つオブジェクトがあります。

しかし、プロパティが null の場合、プロパティが null に設定されているため、コードを使用しようとすると失敗します。文字列/プロパティが null かどうかをチェックする関数を作成しようとしています。そうであれば、プロパティを に設定します""

私はこれを行うことができることを知っています:

しかし、コードをできるだけきれいにする必要があり、多くのプロパティがあるため、それぞれを手動でチェックしたくありません。理想的には、(null であっても失敗せずに) 文字列を取得し、null でない場合は値を返すか、null の""場合は a を返す関数が必要です。

誰でもこれについて手がかりを教えてもらえますか?

0 投票する
1 に答える
493 参照

c# - 比較での null 合体演算子の使用

メソッドを考えると:

null 合体演算子を使用するように if ステートメントを書き直すことは可能ですか?

0 投票する
9 に答える
399 参照

c# - C# 合体演算子

文字列プロパティを持つクラスがあります。nullの可能性があるため、読み取るときに合体演算子を使用しますが、それでもNullRefrenceExeptionがスローされます。

より具体的には、「.ParentSection」がnullなので、「.name」さえないためですか?その場合、最初に if ブロックで ".ParentSection" をテストする必要がありますか?

Coalesce オペレーターについて、私が理解できない何かがあると思います。

0 投票する
3 に答える
41685 参照

mysql - 単一の行が見つからない場合はデフォルト値を返します

ストリームの次のスケジュールされたアイテムを取得するために、次のselectステートメントがあります。一致する行がない場合は、デフォルト値を返すようにします。これが私が使用しているSQLです:

これにより、最後にスケジュールされたアイテムが取得されますが、クエリの30分前より古い場合は取得されません。

ただし、ユーザーが何もスケジュールしない場合は、デフォルト値が必要です。これにより、実際にストリームで何かが再生されます。私は次のことを試しました:

ただし、行が見つからない場合は常に空の結果を返します。代わりにデフォルト値を返すにはどうすればよいですか?