HasValue および != null
C# の Nullable<T>
型では、有効な値または null を許容する値を許可します。 Null 許容値が割り当てられているかどうかを確認するには、次の 2 つの一般的な方法があります。
Nullable.HasValue
の Nullable<T>
属性は、値が割り当てられているかどうかを示します。値が null 以外の場合は true、値が null の場合は false のブール値を返します。 HasValue
Null 可能 != null
この式は、null 許容値が null 以外であるかどうかもチェックします。等号演算子を使用して、null 許容値を null と比較します。
コンパイル時の等価性
コンパイラーは、 の比較を != null
の呼び出しに置き換えることで、これらのチェックを最適化します。これは、2 つの方法の間にパフォーマンスや機能に大きな違いがないことを意味します。 HasValue
設定
と HasValue
のどちらを選択するかは、純粋に読みやすさと好みに基づいて決定されます。 != null
の曖昧さのないことを好む開発者もいますが、簡潔な HasValue
の方が読みやすいと感じる開発者もいます。 != null
例
<code class="language-csharp">int? a = null; // 使用 HasValue if (a.HasValue) { // ... } // 使用 != null if (a != null) { // ... }</code>要約すると、
と HasValue
はどちらも C# で null 非許容値をチェックする有効な方法です。コンパイラはこれらのチェックが同等の動作になるように最適化するため、選択は開発者の好みとコードの読みやすさによって決まります。 != null
以上がHasValue または != null: C# で Null 許容値をチェックするにはどちらが適していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。