今回は、VB.NETのIf文の使い方と複数条件の指定方法についてご紹介します。
VB.NETにおけるIf文の基本
VB.NETでは、条件に合致した場合にのみ特定の処理を行いたいときにIf文が利用されます。
条件式がTrueであれば、Ifブロックの内部が実行されます。
その基本構文は次のとおりです。
1 2 3 4 5 6 |
Dim number As Integer = 5 ' numberが0より大きい場合のみ実行 If number > 0 Then Console.WriteLine("正の数です。") End If |
正の数です。
ここでは、Ifキーワードで条件を示し、最後にEnd Ifでブロックを閉じます。
条件に合致しない場合にも別の処理をしたいときはIf…Elseを、さらに複数の条件を評価したいときはIf…ElseIf…Elseを使用します。
1 2 3 4 5 6 7 8 |
Dim score As Integer = 70 ' scoreの値に応じて分岐する If score >= 60 Then Console.WriteLine("合格です。") Else Console.WriteLine("不合格です。") End If |
合格です。
複数の条件を順に評価したい場合はElseIfを挟むことで柔軟に分岐できます。
1 2 3 4 5 6 7 8 9 10 11 |
Dim grade As Integer = 85 If grade >= 90 Then Console.WriteLine("優秀") ElseIf grade >= 70 Then Console.WriteLine("良好") ElseIf grade >= 50 Then Console.WriteLine("普通") Else Console.WriteLine("要改善") End If |
良好
複数条件の指定方法
複数の条件を組み合わせるには、論理演算子を使います。
And演算子は左右の条件がともにTrueの場合にTrueとなり、Or演算子は左右のどちらかがTrueであればTrueになります。
さらに、AndAlsoとOrElseを使うと短絡評価(ショートサーキット評価)が行われ、左辺の結果次第では右辺を評価しないため、処理が効率化される場合があります。
1 2 3 4 5 6 7 |
Dim a As Integer = 10 Dim b As Integer = 20 ' aが0より大きく、かつbがaより大きいときに実行 If a > 0 And b > a Then Console.WriteLine("aは正で、かつbはaより大きいです。") End If |
aは正で、かつbはaより大きいです。
次の例ではOrを使用しています。
1 2 3 4 5 6 7 |
Dim status As Boolean = False Dim backupReady As Boolean = True ' statusもしくはbackupReadyのどちらかがTrueなら実行 If status Or backupReady Then Console.WriteLine("処理を続行します。") End If |
処理を続行します。
そして、AndAlsoやOrElseを組み合わせればさらに柔軟な条件指定が可能です。
1 2 3 4 5 6 |
Dim x As Integer = 5 Dim y As Integer = 10 If (x < 10 AndAlso y > 5) OrElse (x = 5 AndAlso y = 10) Then Console.WriteLine("条件を満たしています。") End If |
条件を満たしています。
以下の記事では、AndAlsoの使い方について詳しく解説しています。

複雑な条件では、括弧を使って評価の順序を明確にすることが大切です。
1 2 3 4 5 6 7 |
Dim x As Integer = 3 Dim y As Integer = 8 Dim z As Integer = 15 If (x < y AndAlso y < z) OrElse (x = 3 And z > 10) Then Console.WriteLine("条件を満たしています。") End If |
条件を満たしています。
注意したいポイント
If文を利用するうえで、以下の点を押さえておくとコードの可読性や保守性を高められます。
- ブロックの正確な終了
必ずIfを開いたらEnd Ifで閉じます。 - ネストの深さ
入れ子が深くなりすぎると可読性が低下するため、Select Case構文の利用を検討します。 - 短絡評価の活用
特に右辺で例外が起きそうな場合は、AndAlso/OrElseを用いて安全に評価するのがおすすめです。 - 複雑な条件式
一度変数に結果を代入するなどして条件を整理し、可読性を確保します。 - 括弧による順序明示
複数の論理演算子を組み合わせる場合は、括弧を用いて意図する評価順序をはっきりさせます。
まとめ
VB.NETのIf文を正しく使うことで、条件に応じた処理を簡潔に実装できます。
論理演算子やElseIfを活用しながら、コードの可読性と保守性を常に意識しましょう。
複雑化しやすい条件式も、短絡評価や括弧を上手に使えば安全かつ効率的に管理できます。