Pernyataan If...Then...Else (Visual Basic)
Secara kondisional mengeksekusi sekelompok pernyataan, tergantung pada nilai ekspresi.
Sintaks
' Multiline syntax:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]
Tautan cepat ke kode contoh
Artikel ini mencakup beberapa contoh yang menggambarkan If
penggunaan pernyataan ...Then
...Else
:
Generator
condition
Harus diisi. Ekspresi. Harus mengevaluasi ke True
atau False
, atau ke jenis data yang secara implisit dapat dikonversi ke Boolean
.
Jika ekspresi adalah variabel Nullable Boolean
yang mengevaluasi ke Tidak Ada, kondisi diperlakukan seolah-olah ekspresi adalah False
, dan ElseIf
blok dievaluasi jika ada, atau Else
blok dijalankan jika ada.
Then
Diperlukan dalam sintaks baris tunggal; opsional dalam sintaks multi baris.
statements
Opsional. Satu atau beberapa pernyataan berikut If
...Then
yang dijalankan jika condition
dievaluasi ke True
.
elseifcondition
Diperlukan jika ElseIf
ada. Ekspresi. Harus mengevaluasi ke True
atau False
, atau ke jenis data yang secara implisit dapat dikonversi ke Boolean
.
elseifstatements
Opsional. Satu atau beberapa pernyataan berikut ElseIf
...Then
yang dijalankan jika elseifcondition
dievaluasi ke True
.
elsestatements
Opsional. Satu atau beberapa pernyataan yang dijalankan jika tidak ada ekspresi atau condition
sebelumnya elseifcondition
yang dievaluasi ke True
.
End If
Menghentikan versi multibaris dari If
...Then
...Else
Blok.
Keterangan
Sintaks multibaris
Ketika pernyataan ...If
Then
...Else
ditemui, condition
diuji. Jika condition
adalah True
, pernyataan berikut dijalankan Then
. Jika condition
adalah False
, setiap ElseIf
pernyataan (jika ada) dievaluasi secara berurutan. True
elseifcondition
Ketika ditemukan, pernyataan segera setelah yang terkait ElseIf
dijalankan. Jika tidak ada elseifcondition
evaluasi ke True
, atau jika tidak ElseIf
ada pernyataan, pernyataan berikut Else
akan dijalankan. Setelah menjalankan pernyataan mengikutiThen
, ElseIf
,atau Else
, eksekusi berlanjut dengan pernyataan berikutEnd If
.
Klausul ElseIf
dan Else
keduanya opsional. Anda dapat memiliki klausul sebanyak ElseIf
yang Anda inginkan dalam pernyataan If
...Then
...Else
, tetapi tidak ada ElseIf
klausul yang dapat muncul setelah sebuah klausul Else
. Pernyataan If
...Then
...Else
dapat dilapiskan satu sama lain.
Dalam sintaks multibaris, If
pernyataan tersebut harus menjadi satu-satunya pernyataan pada baris pertama. Pernyataan ElseIf
, Else
, dan End If
hanya dapat didahului hanya oleh label garis. Blok ...If
Then
...Else
harus diakhir End If
dengan pernyataan.
Tip
Pilih... Pernyataan Kasus mungkin lebih berguna saat Anda mengevaluasi ekspresi tunggal yang memiliki beberapa nilai yang memungkinkan.
Sintaks Baris Tunggal
Anda dapat menggunakan sintaks satu baris untuk suatu kondisi dengan kode untuk dijalankan jika itu benar. Namun, sintaks multi-baris menyediakan lebih banyak struktur dan fleksibilitas dan lebih mudah dibaca, dipelihara, dan di-debug.
Hal yang mengikuti Then
kata kunci diperiksa untuk menentukan apakah pernyataan tersebut adalah satu barisIf
. Jika ada selain komentar yang muncul setelah Then
pada baris yang sama, pernyataan itu diperlakukan sebagai pernyataan satu barisIf
. Jika Then
tidak ada, itu harus menjadi awal dari beberapa baris If
...Then
...Else
.
Dalam sintaks baris tunggal, Anda dapat memiliki beberapa pernyataan yang dijalankan sebagai hasil dari If
...Then
keputusan. Semua pernyataan harus berada pada garis yang sama dan dipisahkan oleh titik dua.
Contoh sintaks multibaris
Contoh berikut mengilustrasikan penggunaan sintaks If
multibaris dari pernyataan ...Then
...Else
.
'Create a Random object to seed our starting value
Dim randomizer As New Random()
'set our variable
Dim count As Integer = randomizer.Next(0, 5)
Dim message As String
'If count is zero, output will be no items
If count = 0 Then
message = "There are no items."
'If count is 1, output will be "There is 1 item.".
ElseIf count = 1 Then
message = "There is 1 item."
'If count is greater than 1, output will be "There are {count} items.", where {count} is replaced by the value of count.
Else
message = $"There are {count} items."
End If
Console.WriteLine(message)
'This example displays output like the following:
' There are 4 items.
Contoh sintaks berlapis
Contoh berikut berisi pernyataanIf
...Then
...Else
berlapis.
Public Sub Main()
' Run the function as part of the WriteLine output.
Console.WriteLine("Time Check is " & CheckIfTime() & ".")
End Sub
Private Function CheckIfTime() As Boolean
' Determine the current day of week and hour of day.
Dim dayW As DayOfWeek = DateTime.Now.DayOfWeek
Dim hour As Integer = DateTime.Now.Hour
' Return True if Wednesday from 2 to 3:59 P.M.,
' or if Thursday from noon to 12:59 P.M.
If dayW = DayOfWeek.Wednesday Then
If hour = 14 Or hour = 15 Then
Return True
Else
Return False
End If
ElseIf dayW = DayOfWeek.Thursday Then
If hour = 12 Then
Return True
Else
Return False
End If
Else
Return False
End If
End Function
'This example displays output like the following:
'Time Check is False.
Contoh sintaks garis tunggal
Contoh berikut mengilustrasikan penggunaan sintaks garis tunggal.
Private Sub SingleLine()
'Create a Random object to seed our starting values
Dim randomizer As New Random()
Dim A As Integer = randomizer.Next(10, 20)
Dim B As Integer = randomizer.Next(0, 20)
Dim C As Integer = randomizer.Next(0, 5)
'Let's display the initial values for comparison
Console.WriteLine($"A value before If: {A}")
Console.WriteLine($"B value before If: {B}")
Console.WriteLine($"C value before If: {C}")
' If A > 10, execute the three colon-separated statements in the order
' that they appear
If A > 10 Then A = A + 1 : B = B + A : C = C + B
'If the condition is true, the values will be different
Console.WriteLine($"A value after If: {A}")
Console.WriteLine($"B value after If: {B}")
Console.WriteLine($"C value after If: {C}")
End Sub
'This example displays output like the following:
'A value before If: 11
'B value before If: 6
'C value before If: 3
'A value after If: 12
'B value after If: 18
'C value after If: 21
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk