zukucode
主にWEB関連の情報を技術メモとして発信しています。

VB.NET If,Else,ElseIf文の基本的な使い方

VB.NETでのIf文の基本的な使い方を紹介します。

JavaScriptでのif文の使用方法をJavaScript If,else,else if文の基本的な使い方で紹介しましたが、他の言語でのif文とは文法が少し変わるくらいで考え方はほぼ同じです。

VB.NETでのIf文は以下のように、ある条件の場合だけ実行したい部分をIfEnd Ifで囲います。

Dim a As Integer = 1
If a = 1 Then
    'aが1の場合のみ実行される
    Console.WriteLine("aは1です")
End If
If a = 2 Then
    'aが2の場合のみ実行される
    Console.WriteLine("aは2です")
End If

'実行結果
'aは1です

If 条件式 Thenとしたとき、条件式の結果が真(True)の場合のみ、If文の中の条件が実行されます。

AndOr条件を含めたいろいろな使い方ができます。

Dim a As Integer = 1
If a = 1 Or a = 2 Then
    'aが1または2の場合のみ実行される
    Console.WriteLine("aは1または2です")
End If
If a >= 0 And a <= 10 Then
    'aが0以上、10以下の場合のみ実行される
    Console.WriteLine("aは0以上10以下です")
End If

Else文

条件を満たした場合だけでなく、満たさなかった場合に処理を行いたいときはElse文を使用します。

Dim a As Integer = 2
If a = 1 Then
    'aが1の場合のみ実行される
    Console.WriteLine("aは1です")
Else
    'aが1以外の場合のみ実行される
    Console.WriteLine("aは1ではありません")
End If

'実行結果
'aは1ではありません

満たさなかった場合のみ処理を行いたい場合は、If文の条件を工夫すればElse文を使わずに行えます。

Dim a As Integer = 2
If a <> 1 Then
    'aが1以外の場合のみ実行される
    Console.WriteLine("aは1ではありません")
End If

'または
If Not a = 1 Then
    'aが1以外の場合のみ実行される
    Console.WriteLine("aは1ではありません")
End If

'実行結果
'aは1ではありません

ElseIf文

例えばa1の場合、2の場合、といったように、処理を複数分けたいときはElseIfを使用します。

Dim a As Integer = 2
If a = 1 Then
    'aが1の場合のみ実行される
    Console.WriteLine("aは1です")
ElseIf a = 2 Then
    'aが2の場合のみ実行される
    Console.WriteLine("aは2です")
ElseIf a = 3 Then
    'aが3の場合のみ実行される
    Console.WriteLine("aは3です")
Else
    'aが1,2,3以外の場合のみ実行される
    Console.WriteLine("aは1,2,3ではありません")
End If

'実行結果
'aは2です

ElseIfは複数指定できますが、条件を満たした時点で、以降のElseIfは実行されません。

例えば、以下は最初のIf a < 10 Thenの部分を満たしているため、続くElseIf a < 20 Thenは実行されません。

Dim a As Integer = 2
If a < 10 Then
    Console.WriteLine("aは10未満です")
ElseIf a < 20 Then
    '実行されない
    Console.WriteLine("aは20未満です")
ElseIf a < 30 Then
    '実行されない
    Console.WriteLine("aは30未満です")
End If

'実行結果
'aは10未満です

ElseIfを何個も書くような場合は可読性を上げるため、代わりにSelect Case文を使用することが多いです。

Select Caseの基本的な使い方についてはVB.NET Select Caseの基本的な使い方で紹介します。


関連記事

  • VB.NET YYYYMMDD形式の文字列を日付型に型変換する

    VB.NETでYYYYMMDD形式の文字列を日付型に型変換する方法を紹介します。最初にYYYY/MM/DDのように、年月日の区切りに/を追加します。/区切りの文字列にするとCDateで日付型に型変換で...


  • VB.NET YYYYMMDD書式の文字列が日付かどうか判定する

    VB.NETで、YYYYMMDD書式の文字列が日付として妥当かどうかを判定します。以下のように、Date.TryParseExactを使用して、日付型の文字列に変換可能かどうかで判定しています。Dat...


  • VB.NET 文字列の全角と半角の変換を行う

    VB.NETで文字列を全角→半角や半角→全角に変換するにはStrConv関数を使用します。StrConvの第1引数に対象文字列を指定し、第2引数に変換方法を指定します。半角に変換するにはVbStrCo...


  • VB.NET TypeOfで変数の型判定・比較を行う

    VB.NETで変数の型をチェックするにはTypeOfを使用します。TypeOf チェックしたい変数名 Is 判定したい型の形式で指定します。


  • VB.NET StringBuilderの末尾の1文字を削除する

    StringBuilderで末尾の1文字だけ削除したいときは以下のようにします。Remove(位置, 文字数)で削除します。位置の指定について、1文字目は0から始まるため、文字列の長さ(Length)...


  • VB.NET 指定した文字列を削除する

    VB.NETで指定した文字列を削除する方法を紹介します。Replace関数は指定した文字列を別の文字列に置換する関数です。置換する文字列に空文字を指定すれば、指定した文字列が削除される形になります。J...


  • VB.NET 指定した桁数だけ同じ文字を文字列で定義する

    VB.NETで指定した桁数だけ同じ文字を文字列で定義する方法を紹介します。例えばオール9の10桁の文字列9999999999を定義するときに、9999999999を指定するのは、桁数を間違える危険があ...


  • VB.NET ダブルクォーテーションを文字列として扱う方法

    VB.NETで文字列を扱うときは以下のようにダブルクォーテーションで囲います。abcdeのように、文字列の中にダブルクォーテーションを含めたい場合は少し工夫が必要です。以下の2つの方法をよく見かけます...


  • VB.NET 文字列を数値に変換する方法

    VB.NETでString型の文字列を数値に変換する方法を紹介します。以下の例では、Integer型の数値に変換しています。文字列型の変数を数値型に変換する場合には以下に注意する必要があります。例えば...


  • VB.NET 文字列を連結する便利な方法まとめ

    VB.NETで文字列を連結します。VB.NETでは文字列の連結は文字列同士を&で結合できます。&の代わりに+でも可能ですが、数値型の場合は足し算として扱われてしまうので基本的には&を使用することをおす...