問題タブ [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.
c# - null 条件演算子と CA2202: オブジェクトを複数回破棄しないでください
以下を有する:
Visual Studio 2015 でCA2202 (オブジェクトを複数回破棄しないでください) 警告をトリガーします。
fianlly
ただし、ブロックを次のように変更すると、警告はトリガーされません。
finally
ブロックか何かの null 条件演算子の奇妙な点ですか、それとも Visual Studio の分析ツールが単にそれを理解していないのでしょうか?
編集: おそらく関連: Dispose() で null 条件演算子を使用すると、コード分析によってフラグが立てられるのはなぜですか?
c# - null条件演算子に似たコレクションの空の条件演算子を作成する方法は?
C# 6.0 では、null 条件演算子が導入されました。これは大きなメリットです。
今、私はそれと同様に動作する演算子を持ちたいと思っていますが、空のコレクション用です。
コレクションが空の場合、 (from ) は例外をスローするためWhere
、空の を返す場合、これは爆発します。IEnumerable
MinBy
MoreLinq
C# 6.0 より前では、これはおそらく別の拡張メソッド MinByOrDefault
を追加することで解決されていました。
次のように書き直します.Where(...)?.MinBy(...)
。しかし、 ではなく空のコレクション.Where
を返すため、これは機能しません。null
.NullIfEmpty()
これは、 の拡張メソッドを導入することで解決できますIEnumerable
。に到着.Where(...).NullIfEmpty()?.MinBy()
。
空のコレクションを返すことは、null
.
これを行うための他のよりエレガントな方法はありますか?
c# - キャスト呼び出しチェーン内の Elvis オペレーター
elvis 演算子、別名 null 条件演算子は非常にクールです。
LINQ クエリでは、null 合体 "??" と連携してうまく機能します。オペレーター。
しかし、中間値をキャストする必要がある場合はどうすればよいでしょうか?
チェーンの 1 つのリンクについては、問題なく動作します。
ただし、必要なキャストを追加すると、キャストと呼び出しが「離れて」しまいます。
おそらくここで括弧を何度も台無しにしましたが、理解していただければ幸いです。
この「列車事故」呼び出しチェーンはコードの匂いがしますが、簡潔さと明確さを改善するためにこれを行うより表現力豊かな方法はありますか?
c# - Null条件演算子でNullable演算子を使用するにはどうすればよいですか?
オールドウェイ
新しい方法?