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

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

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の基本的な使い方で紹介します。


関連記事