If...Then...Else Deyimi (Visual Basic)
İfadenin değerine bağlı olarak bir deyim grubunu koşullu yürütür.
Sözdizimi
' Multiline syntax:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]
Örnek koda hızlı bağlantılar
Bu makale, If
...Then
...Else
beyanat:
Parça
condition
Gerekli. İfade. veya False
veya için örtük olarak dönüştürülebilir bir veri türü olarak Boolean
değerlendirilmelidirTrue
.
İfade Nothing olarak değerlendirilen Null atanabilir Boolean
bir değişkense, koşul ifadesi False
gibi kabul edilir ve ElseIf
bloklar varsa değerlendirilir veya Else
varsa blok yürütülür.
Then
Tek satırlı söz diziminde gereklidir; çok satırlı söz diziminde isteğe bağlı.
statements
isteğe bağlı. olarak değerlendirilirse condition
True
yürütülen ...Then
sonrasındaki If
bir veya daha fazla deyim.
elseifcondition
Varsa ElseIf
gereklidir. İfade. veya False
veya için örtük olarak dönüştürülebilir bir veri türü olarak Boolean
değerlendirilmelidirTrue
.
elseifstatements
isteğe bağlı. olarak değerlendirilirse elseifcondition
True
yürütülen ...Then
sonrasındaki ElseIf
bir veya daha fazla deyim.
elsestatements
isteğe bağlı. Önceki condition
veya ifade olarak değerlendirilmezse True
yürütülen bir veya elseifcondition
daha fazla deyim.
End If
Çok satırlı sürümünü If
sonlandırır...Then
...Else
blok.
Açıklamalar
Çok satırlı söz dizimi
If
Bir ...Then
...Else
deyimiyle karşılaşıldı, condition
test edildi. ise condition
True
, aşağıdaki Then
deyimler yürütülür. ise condition
False
, her ElseIf
deyim (varsa) sırayla değerlendirilir. bulunduğunda True
elseifcondition
, ilişkilinin ElseIf
hemen ardından gelen deyimler yürütülür. değerlendirmesi yoksa elseifcondition
True
veya deyimi yoksa ElseIf
, aşağıdaki Else
deyimler yürütülür. , veya Else
ElseIf
sonrasındaki deyimleri Then
yürüttkten sonra yürütme aşağıdaki deyimiyle End If
devam eder.
ElseIf
ve Else
yan tümceleri isteğe bağlıdır. Bir ... içinde If
istediğiniz kadar ElseIf
yan tümceniz olabilir...Then
...Else
deyimi, ancak yan tümceden Else
sonra hiçbir ElseIf
yan tümce görünemez. If
...Then
...Else
deyimleri iç içe yerleştirilmiş olabilir.
Çok satırlı söz diziminde, If
deyimi ilk satırdaki tek deyim olmalıdır. ElseIf
, Else
ve End If
deyimlerinin önünde yalnızca bir satır etiketi bulunabilir. . If
..Then
...Else
bloğu bir End If
deyimle bitmelidir.
İpucu
Seç ... Case Deyimi , birkaç olası değer içeren tek bir ifadeyi değerlendirirken daha yararlı olabilir.
Tek Satırlı söz dizimi
Tek bir koşul için tek satırlı söz dizimini kodla birlikte kullanabilir ve doğruysa yürütebilirsiniz. Ancak, çok satırlı söz dizimi daha fazla yapı ve esneklik sağlar ve okunması, bakımı ve hata ayıklaması daha kolaydır.
Bir deyiminin tek satırlı If
olup olmadığını belirlemek için anahtar sözcüğünü Then
izleyenler incelenir. Açıklama dışında bir şey aynı satırda sonra Then
görünürse, deyimi tek satırlı If
deyim olarak değerlendirilir. Yoksa Then
, çok satırlı If
bir başlangıcı olmalıdır ...Then
...Else
.
Tek satırlı söz diziminde, bir If
...Then
kararının sonucu olarak birden çok deyimin yürütülmesini sağlayabilirsiniz. Tüm deyimler aynı satırda olmalı ve iki nokta üst üste ile ayrılmalıdır.
Çok satırlı söz dizimi örneği
Aşağıdaki örnek, çok satırlı söz diziminin If
kullanımını gösterir...Then
...Else
beyanat.
'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.
İç içe söz dizimi örneği
Aşağıdaki örnek iç içe yerleştirilmiş If
...Then
...Else
Ifa -de.
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.
Tek Satırlı söz dizimi örneği
Aşağıdaki örnekte tek satırlı söz diziminin kullanımı gösterilmektedir.
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