ホームページ  >  記事  >  バックエンド開発  >  C#の困難を一つずつ解決する(8): Nullable型 System.Nullable

C#の困難を一つずつ解決する(8): Nullable型 System.Nullable

黄舟
黄舟オリジナル
2016-12-22 14:24:071403ブラウズ

null と void

null 値は、データ型に値が割り当てられていないことを示すために使用されます。void は、型が存在しないこと、または値が存在しないことを意味します。 null と void の違いは、void は何もないのに対し、null は中に何も入っていない空のボックスであると考えることができます。

Null 値は参照型にのみ割り当てることができます。ここで、文字列も参照型であることに注意してください。参照型は C では「ポインター」と呼ばれ、変数の場所が格納されるメモリ空間の場所です。変数を null に設定すると、参照が明示的に設定され、メモリの場所自体を指すことはありません。

値の型に null 値を割り当てると、コンパイル エラーが発生します。

C#の困難を一つずつ解決する(8): Nullable型 System.Nullable

void はメソッドの値を返すために使用されますが、その本質はデータ型ではなく、データ型が存在しないことを示すためにのみ使用されます。

System.Nullable

C#では値の型にnull値を代入することができず、ここでの値の型にはstructも含まれます。その理由は、値型には参照を含めることができず、null は「なし」参照として、値型によって参照できないためです。実際のアプリケーションでは、int のデータ型がその値を決定できない場合、これによっていくつかの問題が発生します。ここでは、null 許容型を使用する必要があります。

System.Nullable<int> i = null; 
Console.WriteLine(i);

このとき、int型iをnull型として宣言することができ、同時にプログラムの実行結果ではデータが表示されないことがわかります

System.Nullable<int> i = null; 
Console.WriteLine(i);

このとき、int型iを次のように宣言できます。 null 型であり、同時にプログラムが実行されます。その結果、データは表示されません

C#の困難を一つずつ解決する(8): Nullable型 System.Nullable

GetType() を使用してその型を表示すると、System.NullReferenceException がスローされます

System.Nullable<int> i = null; 
Console.WriteLine( i.GetType());

C#の困難を一つずつ解決する(8): Nullable型 System.Nullable

System.Nullable< ;T> は、System.Nullable
さらに、Nullable 型のインスタンスには HasValue メンバーと Value メンバーがあり、HasValue が値を持つかどうかを示す bool 型です。HasValue が値を持つ場合、Value はインスタンスの値を示します。 false の場合、System.InvalidOperationException 例外がトリガーされます。

int? i = null; 
Console.WriteLine(i.HasValue); 
Console.WriteLine(i.Value);

C#の困難を一つずつ解決する(8): Nullable型 System.Nullable

上記は、C# の難しい問題を 1 つずつ説明した内容です (8): Nullable 型 System.Nullable 関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


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