■ VisualBasic #9:Date型にNothingを代入するには?

VisualBasic Date型(DateTime型)にNothingを代入したい
前回記事:VisualBasic #8:非同期処理


まったく日付をセットしていない事を示すため、Date型変数にNothingを代入したいが・・・
Dim date1 As DateTime = Nothing
MessageBox.Show(date1)
  
上記のようにしても、表示されるのは "0:00:00" であり、Nothingではない。
ちなみに"yyyy/MM/dd HH:mm:ss"で書式化すると "0001/01/01 00:00:00" となる。

→ Date型をNull許容型で宣言する。
Dim date1 As DateTime? = Nothing
MessageBox.Show(if(date1,""))
  
型に "?" を付けることでNull許容型となりNothingを代入できる。
上記コードを実行すると "" で表示される。
if(date1,"") としているのは C#でいうところの Null合体演算子(??) と呼ばれるもので、値がNull(Nothing)であれば第2引数値を返す。

次回記事:VisualBasic #10:TimeSpan型


VisualBasic学習, Null許容型, Null合体演算子

0 件のコメント:

その他の記事