ホームページ >バックエンド開発 >C++ >C# の Null 許容型は欠損値または未定義の値をどのように処理しますか?

C# の Null 許容型は欠損値または未定義の値をどのように処理しますか?

DDD
DDDオリジナル
2025-01-26 09:11:091016ブラウズ

How Do Nullable Types in C# Handle Missing or Undefined Values?

C# Null 許容型: 包括的なガイド

C# の null 許容型は、特にデータベースなどの外部ソースからのデータを扱う場合に、潜在的に欠落している値または未定義の値を処理するための強力なメカニズムを提供します。 値の型 (? など) に追加された疑問符 (int?) は、null 許容型を示し、有効な値または null のいずれかを保持できるようにします。 この機能は、System.Nullable 構造体によって提供されます。

例:

NULL 許容の整数プロパティを考えてみましょう:

<code class="language-csharp">public int? myProperty { get; set; }</code>

myProperty は、通常の範囲 (-2,147,483,648 ~ 2,147,483,647) 内の任意の整数、または定義された整数が存在しないことを表す null 値を格納できるようになりました。

Null 許容型の利点:

Null 許容型は、データが不完全である可能性がある状況に対処する場合に非常に役立ちます。 たとえば、データベースのフィールドにエントリが欠落している可能性があります。 Null 許容型を使用すると、この欠落データを正確に表現できるため、データが存在しない場合にデフォルト値を仮定することによって引き起こされる潜在的なエラーを防ぐことができます。

主要なプロパティとメソッド:

Null 許容型には、いくつかの便利なメンバーが用意されています。

  • HasValue: 値が割り当てられているか (true)、またはタイプが null (false) であるかどうかを示すブール型プロパティ。
  • GetValueOrDefault(): 割り当てられた値が利用可能な場合はそれを返します。それ以外の場合は、基になる型のデフォルト値 (たとえば、int? の場合は 0) を返します。
  • Value: 基になる値への直接アクセスを提供します。 ただし、null 許容型が Value のときに null にアクセスしようとすると、InvalidOperationException.
  • がスローされます。

実際の応用:

次のコード スニペットは、null 許容型の使用を示しています。

<code class="language-csharp">int? num = null;

if (num.HasValue)
{
    Console.WriteLine("num = " + num.Value);
}
else
{
    Console.WriteLine("num is null");
}</code>

このコードは、値にアクセスする前に null を安全にチェックし、実行時例外を防ぎます。 HasValue プロパティを効果的に使用することで、開発者はより堅牢で信頼性の高いコードを作成できます。 C# で null 許容型を理解して利用すると、データ処理機能が大幅に強化されます。

以上がC# の Null 許容型は欠損値または未定義の値をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。