諸事情により毎月一度、土曜日に会社で自己啓発ができる状況となったんで、
暫く休んでいた自己啓発を始めたいと思います。

で・・・実務の方が漸くVC6を見切りをつけ、.NETでということになったんですが、
C#とならずVB.NETとなっちゃいました。
VB6のころは適当にやってたんですが、実務となるとそうもいかんので、
「独習VisualBasic2008」とやらが会社にあったので、VB6とVB.NETの差異を勉強したいと
思います。但し、C#はある程度摘んでますので、.NET Frameworkには触れません。

  →Private Sub Button1_Click( ... ) Handles Button1.Clickてな感じで

  • 配列宣言時の添字は、未だに配列数ではなく添字の最大値。未だに慣れれない
  • 代入演算子(+=とか)あります。今では当たり前なんですね。
  • CIntとか思い出せないなら、.NET FrameworkクラスライブラリのConvertクラスを使え!
  • If Then ElseIf Else End If健在。
  • <>(等しくない)も健在。絶対!=やっちゃうか、SQLで!=やっちゃうパターン
  • 想像通り=(等しい)も健在。
  • Like 演算子って前からあったの?( strHoge Like [a-g]* : 先頭がa-gの何れかで始まる文字列)

 微妙に正規表現と混乱するパターン

  • 論理演算子のOrElseやAndAlsoは単に右項の評価を行わなくしたOrとAnd。

 ショートサーキットってゆーらしい。かっちょいい。

  • Select CaseはC以上に色々できるから、使う前に予習すべきIS<10とか、caseの場所が効くし","もオK
  • While End Whileって前からExit WhileとかContinue Whileってできましたっけな感じ
  • ループ変数はDim書かなくてもおk。For counter As Integer 0 to 5
  • For Each xxx as String In 文字列配列変数とか。 コンテナからの取り出しおk

IEnumerable登場。

  • String.Format完全に忘れた。C#もご無沙汰。String.Format("{0}{1:d2}", a, b)

簡単に書くと、{データの特定,桁数:書式}で桁数にマイナスつけると左詰、書式は"#,##0"とかだよ

  • 引数のByValとByRefも健在。ByRefであっても、"()"で引数渡すと式と解釈するのでバリアを張る事もできる
  • 可変長引数ParamArray。そんなんあったっけ?
  • DefaultParameterもあるよ。Optional ByVal i As Integer = 1
  • Functionでreturn x可能。
  • Trim()はStringインスタンス.Trim()で、Split()はStringインスタンス.Split()で
  • 継承クラスを作る方法として、一旦新規でクラスを作って、コード上でInherits Formとか書く。まだ馴染み易い。
  • クラスのコンストラクタ名はNew()
  • コンストラクタからコントロールの初期化とかする関数はInitializeComponent()にしておくと、

 後でWindowsフォームデザイナによる恩恵あり。コントロールとかの移動位置とか自動で書いてくれる

  • ボタンとかのメンバ変数にWithEventsを指定することで、そのオブジェクトが発生するイベントを扱えるようになる
  • Partial 使えます。Form1.Designer.vbに自動生成されるコードとかを移動しましょう
  • _をクラスの前に記載するとNew()を自動生成する

あとはコントロールの各種プロパティとかあるけど、もう限界。