■
諸事情により毎月一度、土曜日に会社で自己啓発ができる状況となったんで、
暫く休んでいた自己啓発を始めたいと思います。
で・・・実務の方が漸くVC6を見切りをつけ、.NETでということになったんですが、
C#とならずVB.NETとなっちゃいました。
VB6のころは適当にやってたんですが、実務となるとそうもいかんので、
「独習VisualBasic2008」とやらが会社にあったので、VB6とVB.NETの差異を勉強したいと
思います。但し、C#はある程度摘んでますので、.NET Frameworkには触れません。
- イベントハンドラはメソッドにHandles句がついてます。
→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()を自動生成する
あとはコントロールの各種プロパティとかあるけど、もう限界。