misc.log

日常茶飯事とお仕事と

DateTime型引数にNothingを渡すと…

単体テストコードを書いていて、引数にDateTime型の年月日時刻情報を指定する関数があったので、そこにNothingを指定すると何が起きるのかを見てみました……。関数の中では、受け取ったDateTime型データをToStringで「〜.ToString("yyyyMMdd")」のように書式変換していたのですが、結果は以下の通りです。

  • 受け取った時の引数値「#12:00:00 AM#」
  • ToString("yyyyMMdd")の結果: "00010101"
  • ToString("HHmmss")の結果: "000000"


へぇ…。ちなみに上記現象は.NET Framework 4.0。DateTimeは構造体なので、Nothingとの比較などはできない。ということは、Nothingを渡した時点で「できたてほやほやのカラッポ構造体」がわたったことになるのか?(←その辺ちょっとよく分かっていない)。