方法: コード内でステートメントを分割および連結する (Visual Basic)

コードを記述するときに、コード エディターで水平スクロールを必要とする長いステートメントを作成する場合があります。 これはコードの実行方法には影響しませんが、モニターに表示されたコードを読みにくくなります。 このような場合は、1 つの長いステートメントを複数の行に分割することを検討してください。

1 つのステートメントを複数の行に分割するには

行を分割する位置で行連結文字 (アンダースコア (_)) を使用します。 アンダースコアの直前にスペースを入力し、直後に行終端記号 (キャリッジ リターン) を入力するか、(バージョン 16.0 以降では) 直後にコメントを入力し、その後にキャリッジ リターンを入力する必要があります。

Note

場合によっては、行連結文字を省略すると、Visual Basic コンパイラはステートメントを暗黙的に次のコード行に継続します。 行連結文字を省略できる構文要素の一覧については、ステートメントに関する記事の「暗黙的な行連結」をご覧ください。

次の例では、最後の行を除くすべての行を行連結文字で終了して、ステートメントが 4 行に分割されています。

cmd.CommandText = _
    "SELECT * FROM Titles JOIN Publishers " _
    & "ON Publishers.PubId = Titles.PubID " _
    & "WHERE Publishers.State = 'CA'"

このシーケンスを使用すると、オンラインでも印刷された場合でもコードが読みやすくなります。

行連結文字は、行の最後の文字である必要があります。 同じ行でその後に何かを続けることはできません。

行連結文字を使用できる場所については、いくつかの制限があります。たとえば、引数名の途中で使用することはできません。 引数リストを行連結文字で分割することはできますが、引数の個々の名前はそのままにしておく必要があります。

行連結文字を使用してコメントを継続することはできません。 コンパイラは、コメント内の文字に特別な意味があるかどうかを調べるわけではありません。 複数行のコメントでは、各行でコメント記号 (') を繰り返します。

各ステートメントを別々の行に配置するのが推奨される方法ですが、Visual Basic では同じ行に複数のステートメントを配置することもできます。

同じ行に複数のステートメントを配置するには

次の例のように、ステートメントをコロン (:) で区切ります。

text1.Text = "Hello" : text1.BackColor = System.Drawing.Color.Red

関連項目