行末にアンダースコア
コメントの書き方 |
文字列の改行 |
プログラムを次行に継続する |
Const 定数の宣言 |
型文字 $ % & ! # @ |
標準数値書式 |
カスタム数値書式 |
Option Strict On |
ビルドエラーの修正 |
1行が長くなるときは、行末にアンダースコア(_)を使って、複数行に分けて書くことができます。
アンダースコア(_)の前には、半角のスペース(空白)がひとつ必要です。アンダースコアは、アンダーライン、アンダーバーとも言われ、略してアンスコと言う人もいます。
VB2010以降では、カンマ(,)の後などで、行継続文字を省略できるようになりました。
継続行は見やすく書く
継続行はタブ1つ分インデント(字下げ)することが多いようですが、見やすく書くことが大切です。
次の例は、Math.Round関数 を使って四捨五入するプログラムです。内容は分からなくても、行継続文字の使い方がわかれば十分です。わざと複数行で書きました。
このような長さなら1行で書きます。ほんとうに1行が長くなるときだけに、行継続文字を使ってください。通常は次のように1行で書きます。
ソースリストの枠内をクリックすると全選択できます。
' Math.Roundを使って四捨五入
ans = Math.Round(inNum, 0, MidpointRounding.AwayFromZero)
Module Module1 ' 変数の宣言 Dim inNum As Double Dim ans As Double inNum = 11.49999 ' Math.Roundを使って四捨五入 ' 1行で書けるところを _ を使ってわざわざ複数行で記述 ans = Math.Round(inNum, _ 0, _ MidpointRounding.AwayFromZero) Console.WriteLine(ans) End Module
【注意】超やさしい VB 文法では、通常1行で書くケースでも、横スクロールを避けるために、複数行で書くことがあります。
アンダースコアを省略
上のプログラムでは _ を省略して記述することができます。
Module Module1 ' 変数の宣言 Dim inNum As Double Dim ans As Double inNum = 11.49999 ' Math.Roundを使って四捨五入 ' 1行で書けるところを _ を使わずに複数行で記述 ans = Math.Round(inNum, 0, MidpointRounding.AwayFromZero) Console.WriteLine(ans) End Module
その他に、 左かっこ"("の後、右かっこ")"の前、等号"=" の後などで省略可能です。エラーにならなければ省略可能です。
どこでもアンダースコアなしで改行できるわけでもないので、不安があるときは、アンダースコアを書きましょう。