The If...Then
and If...Then...Else
are conditional control statements. Using conditional statements, the program can behave differently based on a defined condition checked during the statement's execution.
The If...Then
is the simplest form of control statement, frequently used in decision making and changing the control flow of the program execution.
The basic syntax of the If...Then
statement is shown below.
If condition Then
[Statement(s)]
End If
An If...Then
statement consists of an expression that determines whether a program statement or
statements execute.
The following example shows the usage of a simple If...Then
statement.
Dim num1 As Integer = 7
Dim num2 As Integer = -1
If num1 > 0 Then
Console.WriteLine("num1 is valid.")
End If
If num2 < 0 Then
Console.WriteLine("num2 is not valid.")
End If
In an If...Then...Else
statement, if the condition evaluates to true
, the Body of the conditional statement runs. If the condition is false
, the else-statement runs.
The basic syntax of the If...Then...Else
statement is shown below.
If condition Then
[ statement(s) ]
Else
[ elsestatement(s) ]
End If
It conditionally executes a group of statements, depending on the value of an expression.
The following example shows the usage of a simple If...Then...Else
statement.
Public Sub Example2()
Dim randomizer As New Random()
Dim count As Integer = randomizer.Next(0, 5)
Dim message As String
If count = 0 Then
message = "There are no items."
Else
message = $"There are {count} items."
End If
Console.WriteLine(message)
End Sub
In some cases, we need to use a sequence of If...Then
structures or multiple If...Then...Else
statements, where the Else
clause is a new If
structure.
If
structures, the code would be pushed too far to the right.If
right after the Else
and it is considered a good practice.Public Sub Example3()
Dim marks As Integer = 79
If marks >= 90 Then
Console.WriteLine("A+")
ElseIf marks >= 80 Then
Console.WriteLine("A")
ElseIf marks >= 70 Then
Console.WriteLine("B")
ElseIf marks >= 60 Then
Console.WriteLine("C")
ElseIf marks >= 50 Then
Console.WriteLine("D")
Else
Console.WriteLine("F")
End If
End Sub
In the above example, a series of comparisons of a variable marks
to check If...Then
, it is one of the grades (such as A+, A, B, C, or D). Every following comparison is done only in the case that the previous comparison was not true
. In the end, if none of the If...Then
conditions are not fulfilled, the last Else
clause is executed.
The result of the above example is shown below.
B