参考: http://blogs.wankuma.com/episteme/archive/2007/10/30/104808.aspx
(Option strict onで実行)
1:
Dim btn As Button
For j As Integer = 0 To 4
If j = 0 Then btn = New Button
Next
Dim b As Button = btn '<=== 警告 1 変数 'btn' は、値が割り当てられる前に使用されています。Null 参照の例外が実行時に発生する可能性があります。 C:\Users\Ognac\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb 21 27 WindowsApplication1
変数 btnは初期化されてません。しかしLoop内で必ず設定されます。
しかしコンパイラーは警告扱いします。
2.
Dim i As Integer = 10
i = i + +1
MessageBox.Show(i.ToString) '=> 11
i = 10
i = i + -1
MessageBox.Show(i.ToString) '=> 9
i = 10
i = i + --1
MessageBox.Show(i.ToString) '=> 11
"-"や"+" は単項演算子なので Compile Errorにはならず正常に動作します。
仕様通りの動作なのですが、もう少し気を利かして欲しいなと思うのです。私だけ?