ハテナキハテナ --unics’s think/sync

福井のまんなかでぼんにょり呟く、ゆにくすの日々オボエガキなど。

VB.NETにおけるNothing。

たとえば

  Dim count as Integer = nothing

と指定すると、Integerの規定値である0がcountの値になります。
Nothing=nullみたいな認識でいたのでコレはビックリ。ていうかちゃんとMSDN読みましょう自分。
てなもんだから、DB検索して引っかからなかったらNothing、引っかかったらそのカウントをIntegerで返すみたいなメソッドを作って

Dim retValue as Integer = db.GetHogeCount()

if retValue = Nothing then
  '見つからなかったよメッセージ
else if retValue = 0 then
  '検索したら0だったよメッセージ
else
  '正当な処理
endif

と書いても、両方上のif文の中に入っちゃうのです。あっちゃー(><)
最終的には検索して引っかからなかった場合はInteger.MinValueを返すようにして一件落着でしたが、なんというか、VB.NETて微妙だなぁ。

qqq for your reading!!
(c)Electro-U-nics --since 2004.03.26