みんな大好きなVisual Basicのなかでも、愛して已まないのはやっぱり「Nothing」ですよね☆
もう、こんなカワイイじゃじゃ馬っ娘と暮らしたら、離れなれなくなります。
普段はあんまり遊んであげられなのですが、こんなホリデーシーズンにはNothingで遊んであげましょう。
そう、これはVisual Basic Advent Calendar 2011の一環です。
難しい話題はMVPの方にお任せして、またーり遊んでみましょう☆
(師走で死ぬほど忙しい、とかいうのはこの際目をつぶってくださいw)
では、Visual BasicでNothingとはどんなものでしょうか。MSDNで見るとずばり
「Nothing:任意のデータ型の既定値を表します。」
nothingの日本語訳は「何もない」のハズです。すでに訳が分かりませんね^^;
挑戦1、そのまま表示したら何がでるかな?
ということで、「Console.WriteLine(Nothing)」をやってみました。
もうね、コンパイラさんの頑張りに申し訳なさでいっぱいです

挑戦2、既定値なんだよね?
せっかく上記でいろんな型が出てきたので、あそんでみませう。
.NETでは、サフィックスをつけると型を明示できます。ということで遊んでみるなど。
まずは、数値。
既定値は0なので、以下で「True」が返ってくるのは想定内。
ちなみに、=を二つ並べなくったって、VBでは”=”一個だけだと比較です。(このせいで、λ式とかめんどっちいことにorz)

調子に乗って。もう、C系の人からぶんなぐられそうですw
VBerの皆さん。数学的にはこちらが正しい、と言い張りましょうw

次に文字列行ってみましょう
さて、このあたりから愛が加速していきます。
文字列型の既定値は空白文字なので以下の比較ができます。
とりあえず、上の2行を業務で書く人がいたらブっちょめすwcがはく
#ホントに居たらごめんなさいm(_ _)m

挑戦3、オブジェクトに使ってみよう
VB6のころのNothingは、ちゃんと何もなくしてくれました。
以下も、終了するとちゃんとExcel.exeお家に帰ってタスクマネージャーからいなくなります^^

今のVB.NETは……。単にオブジェクト変数に既定値を放り込むだけなんですね。

せっかく来てくれたのに、Excelくんは遥か彼方の亜空間でずっと待機><
Excel.exeがタスクマネージャに残ったままになります。
可哀そうですが、タスクマネージャから追い返えすなどorz

VB.NETではちゃんとお別れしましょう
お別れは、作った絆をちゃんとすべてReleaseComObjectで解放してお家へ帰らしてあげましょう
【ご参考】COM オブジェクトの参照カウントを解放する
ということで、ホリデーシーズンにピッタリの愛があふれるお話でした^^/