問題タブ [null-conditional-operator]

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 投票する
2 に答える
465 参照

c# - null 条件演算子と CA2202: オブジェクトを複数回破棄しないでください

以下を有する:

Visual Studio 2015 でCA2202 (オブジェクトを複数回破棄しないでください) 警告をトリガーします。

fianllyただし、ブロックを次のように変更すると、警告はトリガーされません。

finallyブロックか何かの null 条件演算子の奇妙な点ですか、それとも Visual Studio の分析ツールが単にそれを理解していないのでしょうか?

編集: おそらく関連: Dispose() で null 条件演算子を使用すると、コード分析によってフラグが立てられるのはなぜですか?

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

c# - null条件演算子に似たコレクションの空の条件演算子を作成する方法は?

C# 6.0 では、null 条件演算子が導入されました。これは大きなメリットです。

今、私はそれと同様に動作する演算子を持ちたいと思っていますが、空のコレクション用です。

コレクションが空の場合、 (from ) は例外をスローするためWhere、空の を返す場合、これは爆発します。IEnumerableMinByMoreLinq

C# 6.0 より前では、これはおそらく別の拡張メソッド MinByOrDefaultを追加することで解決されていました。

次のように書き直します.Where(...)?.MinBy(...)。しかし、 ではなく空のコレクション.Whereを返すため、これは機能しません。null

.NullIfEmpty()これは、 の拡張メソッドを導入することで解決できますIEnumerable。に到着.Where(...).NullIfEmpty()?.MinBy()

空のコレクションを返すことは、null.

これを行うための他のよりエレガントな方法はありますか?

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

c# - キャスト呼び出しチェーン内の Elvis オペレーター

elvis 演算子、別名 null 条件演算子は非常にクールです。

LINQ クエリでは、null 合体 "??" と連携してうまく機能します。オペレーター。

しかし、中間値をキャストする必要がある場合はどうすればよいでしょうか?

チェーンの 1 つのリンクについては、問題なく動作します。

ただし、必要なキャストを追加すると、キャストと呼び出しが「離れて」しまいます。

おそらくここで括弧を何度も台無しにしましたが、理解していただければ幸いです。

この「列車事故」呼び出しチェーンはコードの匂いがしますが、簡潔さと明確さを改善するためにこれを行うより表現力豊かな方法はありますか?

0 投票する
4 に答える
722 参照

c# - Null条件演算子でNullable演算子を使用するにはどうすればよいですか?

オールドウェイ

新しい方法?