Int32 における IsNullOrEmpty
- Int型のNullOrEmptyチェック ( C# と VB.NET の質問掲示板)
ネタ元は「 Int32 型は null にならないからチェック不要」で終了していますが、弁士さんが「 Nullable 型で無い限り」と書いている通り、 Nullable 型の場合は null になり得ます。
尤も、 int と int? は型変換が必要なので、 String 型ほど問題にはならないとは思いますが、一応、 String.IsNullOrEmpty に該当するものがあるのか見てみたところ、 Nullable.HasValue と云うプロパティがあるんですね。
これは String.IsNullOrEmpty の様な小細工をしなくてもいい分、使い勝手はいい感じがします。
C#
int? v = null; if (v.HasValue) { Console.WriteLine(v); } else { Console.WriteLine("値が設定されていません。"); }
VB
Dim v As Integer? = Nothing If v.HasValue Then Console.WriteLine(v) Else Console.WriteLine("値が設定されていません。") End If