【C#】Null許容型(Nullable 型)

Null許容型(Nullable 型)

例1

Nullもデータとして格納できるようにするには、型のすぐ右に「?」を入れように型宣言する
 int? x = 123;

例2

以下でも同じ
 Nullable<int> 123;

プロパティ

* HasValue : 有効な(null でない)値を持っていれば true、それ以外は false を返す
* Value : 有効な値を返す

例:Null許容型を文字列に変換する

public static string TransfermNullIntIntoString(int? data)
{
    string returnVal = string.Empty;

    if (data.HasValue)
    {
        returnVal = data.Value.ToString();
    }

    return returnVal;
}

注意

以下のようなことはできない
int sum = 0;
int? num = 1;

int sum = sum + num; // コンパイルエラー

対処例

int sum = 0;
int? num = 1;
if (num.HasValue)
{
    sum = sum + num.Value;
}

int sum = sum + num; // コンパイルエラー


??演算子

* x が null の場合、y が代入される
z = x ?? y;