If İşleci (Visual Basic)
İki değerden birini koşullu olarak döndürmek için kısa devre değerlendirmesini kullanır. işleci If
üç bağımsız değişkenle veya iki bağımsız değişkenle çağrılabilir.
Sözdizimi
If( [argument1,] argument2, argument3 )
İşleç üç bağımsız değişkenle çağrıldıysa
Üç bağımsız değişken kullanılarak çağrıldığında If
, ilk bağımsız değişken olarak Boolean
atanabilecek bir değer olarak değerlendirilmelidir. Bu Boolean
değer, diğer iki bağımsız değişkenin hangilerinin değerlendirilip döndürüleceğini belirler. Aşağıdaki liste yalnızca işleç üç bağımsız değişken kullanılarak çağrıldığında If
geçerlidir.
Parça
Süre | Tanım |
---|---|
argument1 |
Gerekli. Boolean . Değerlendirilecek ve döndürülecek diğer bağımsız değişkenleri belirler. |
argument2 |
Gerekli. Object . olarak değerlendirilirse argument1 değerlendirilir True ve döndürülür. |
argument3 |
Gerekli. Object . değerlendiriliyorsa argument1 veya Boş Değer olarak değerlendirilen False null atanabilirBoolean bir değişkense argument1 değerlendirilir ve döndürülür. |
If
Üç bağımsız değişkenle çağrılan bir işleç, kısa devre değerlendirmesi kullanması dışında bir IIf
işlev gibi çalışır. Bir IIf
işlev her zaman bağımsız değişkenlerinin üçünü de değerlendirirken, üç bağımsız değişkeni olan bir If
işleç bunlardan yalnızca ikisini değerlendirir. İlk If
bağımsız değişken değerlendirilir ve sonuç bir Boolean
değer True
False
veya olarak türetir. değer ise True
argument2
değerlendirilir ve değeri döndürülür, ancak argument3
değerlendirilmez. İfadenin Boolean
değeri ise False
argument3
değerlendirilir ve değeri döndürülür, ancak argument2
değerlendirilmez. Aşağıdaki örneklerde üç bağımsız değişkenin If
ne zaman kullanıldığı gösterilmektedir:
' This statement prints TruePart, because the first argument is true.
Console.WriteLine(If(True, "TruePart", "FalsePart"))
' This statement prints FalsePart, because the first argument is false.
Console.WriteLine(If(False, "TruePart", "FalsePart"))
Dim number = 3
' With number set to 3, this statement prints Positive.
Console.WriteLine(If(number >= 0, "Positive", "Negative"))
number = -1
' With number set to -1, this statement prints Negative.
Console.WriteLine(If(number >= 0, "Positive", "Negative"))
Aşağıdaki örnekte kısa devre değerlendirmesinin değeri gösterilmektedir. Örnekte, sıfır dışında divisor
değişkeni değişkene number
divisor
bölmeye yönelik iki deneme gösterilmektedir. Bu durumda, bir 0 döndürülmelidir ve bir çalışma zamanı hatasının sonucu olacağından bölme işlemini gerçekleştirme girişiminde bulunulmamalıdır. If
İfade kısa devre değerlendirmesi kullandığından, ilk bağımsız değişkenin değerine bağlı olarak ikinci veya üçüncü bağımsız değişkeni değerlendirir. İlk bağımsız değişken doğruysa, bölen sıfır değildir ve ikinci bağımsız değişkeni değerlendirmek ve bölmeyi gerçekleştirmek güvenlidir. İlk bağımsız değişken false ise, yalnızca üçüncü bağımsız değişken değerlendirilir ve 0 döndürülür. Bu nedenle, bölen 0 olduğunda bölme işlemi gerçekleştirme girişiminde bulunulmaz ve hata sonucu alınmaz. Ancak, IIf
kısa devre değerlendirmesi kullanmadığından, ilk bağımsız değişken false olduğunda bile ikinci bağımsız değişken değerlendirilir. Bu, çalışma zamanı sıfıra bölme hatasına neden olur.
number = 12
' When the divisor is not 0, both If and IIf return 4.
Dim divisor = 3
Console.WriteLine(If(divisor <> 0, number \ divisor, 0))
Console.WriteLine(IIf(divisor <> 0, number \ divisor, 0))
' When the divisor is 0, IIf causes a run-time error, but If does not.
divisor = 0
Console.WriteLine(If(divisor <> 0, number \ divisor, 0))
' Console.WriteLine(IIf(divisor <> 0, number \ divisor, 0))
eğer işleci iki bağımsız değişkenle çağrıldıysa
için ilk bağımsız değişken If
atlanabilir. Bu, işlecin yalnızca iki bağımsız değişken kullanılarak çağrılmasını sağlar. Aşağıdaki liste yalnızca işleç iki bağımsız değişkenle çağrıldığında If
geçerlidir.
Parça
Süre | Tanım |
---|---|
argument2 |
Gerekli. Object . Başvuru veya null atanabilir değer türü olmalıdır. dışında bir şeye Nothing değerlendirildiğinde değerlendirilir ve döndürülür. |
argument3 |
Gerekli. Object . olarak değerlendirilirse argument2 değerlendirilir Nothing ve döndürülür. |
Boolean
Bağımsız değişken atlandığında, ilk bağımsız değişken bir başvuru veya null atanabilir değer türü olmalıdır. İlk bağımsız değişken olarak değerlendirilirse Nothing
, ikinci bağımsız değişkenin değeri döndürülür. Diğer tüm durumlarda, ilk bağımsız değişkenin değeri döndürülür. Aşağıdaki örnekte bu değerlendirmenin nasıl çalıştığı gösterilmektedir:
' Variable first is a nullable type.
Dim first? As Integer = 3
Dim second As Integer = 6
' Variable first <> Nothing, so its value, 3, is returned.
Console.WriteLine(If(first, second))
second = Nothing
' Variable first <> Nothing, so the value of first is returned again.
Console.WriteLine(If(first, second))
first = Nothing
second = 6
' Variable first = Nothing, so 6 is returned.
Console.WriteLine(If(first, second))
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin