3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(vb.net)VB.Net、VB2005で変わった点1

プログラム人生の最初にCをやってるせいか、VB6のプロジェクトに入ったとき、IF文の評価の時に、たとえば

If 最初の条件式 And 2つ目の条件式 Then
  '....
End If

というコードの時、"最初の条件式"の結果が False でも"2つ目の条件式"は評価されてしまう という事実になかなか慣れれませんでした。

さらにループ中でCやJavaでは contineu; があるなのに、なぜにVB6はないのだ。このせいで余計にIf文のネストが深くなる。という悲壮な気持ちになったこともありました。
さらには変数宣言と同時になぜ初期化できないのかとか、まあVB6への不満は山ほどありましたが。。

どうやらVB.Netではこの点は大きく改善されているようです。

最初の複数の条件式を判断する部分ではVB.Netには "AndAlso" と "OrElse" という演算子が追加されています。
AndAlso はC言語の && と同じ意味、OrElse はC言語の || と同じ意味です。

具体的なコードはこちらにコード付きで詳しく説明されています。
パフォーマンス的にもAndAlso、OrElseを使ったほうがよ下げみたいですね。

contineuについてはC,Javaは知ってる方ならわかると思います。まさにC,Javaのcotinue文をそのまま移植したという感じです。

また、"IsNot" 演算子ができたため、

If Not myObj Is Nothing Then

というようなコードが

If myObj IsNot Nothing Then

というようによりシンプルに書くことが可能になったみたいです。
しかし、この2つはVB2005からの機能みたいです。

VB2005の変更点は下記MSサイトに詳しく出てます。
http://www.microsoft.com/japan/msdn/vs05/vbasic/languageenhancements.aspx#languageenhancements_topic8

(タイトルに"1"とかって書いてますが、いつのことになるやら。。。)