>>45

まずは、continue の話...

もちろん...

> If Not (FuncA(i) Or FuncB()) Then

でいいんだけど、条件がたくさんある時 C なら...

 if(cond1){ continue; }
 ...
 if(cond2){ continue; }
 ...

と書けるけど、VB では...

 If Not Cond1 Then
  ...
  If Not Cond2 Then
   ...

と、どんどんネストが深くなっちゃうよね。これがちょっとね...。

で、短絡評価の方だけど...

if (funcA(i) && funcB()) { /* C 言語ね */

と

> If FuncA(i) And FuncB() Then ' VB ね。

って同じじゃないよ。C の方は、funcA(i) が 0 を返したら funcB() が呼ばれ
ないことが保証されている。これに対して、VB は FuncA(i) と FuncB() の両方
を呼んでから AND とるから必ず両方を呼んでしまう。この例じゃちょっとわかり
にくいけど、例えば「配列の中身が 0 だったら何かをする、ただし与えられる添
え字が配列の範囲外の時もある...」って言う時は C なら...

if(0 <= i && i < sizeof(a) && a[i] == 0){

と書けるけど、VB で...

If Lbound(a) <= i And i <= UBound(a) And a(i) = 0 Then

と書いちゃうと、i が範囲外の時に a(i) がエラーになってしまう。だから VB
では...

If Lbound(a) <= i And i <= UBound(a) Then
 If a(i) = 0 Then

と書かないといけない。これがちょっと面倒だよね。