検索 K
.NET Framework2.0から追加されている機能なんだけど、恥ずかしながら知りませんでした。 その名のとおり、nullを表現するための型なんだけどstructのようなnullを許容しないようなものに対して使えます。
時間を作って検証しなきゃならないけど、走り書き。(動作未確認。Webでさらっと見ただけ)
// こんな感じで宣言
Nullable tBoolValue = new Nullable(true);
// nullを代入可
tBoolValue = null;
if(tBoolValue == null)
{
// もちろん判定可能
}でもって、シンタックスシュガーとして以下のように表現可能です。(普段はこっちを使います)
// ?をつけるとNullableになる。
bool? tBoolValue = true;
// bool?->boolにはキャストが必要
bool tValue = (bool)tBoolValue;用途としては、
- IndexOf系で要素が見つからなかった時に-1を返す代わりにnullを返す。
- ColorやPoint3dなど
