OrElse İşleci (Visual Basic)

İki ifadede kısa devre kapsayıcı mantıksal ayrıştırma gerçekleştirir.

Sözdizimi

result = expression1 OrElse expression2  

Parça

result
Gerekli. Herhangi bir Boolean ifade.

expression1
Gerekli. Herhangi bir Boolean ifade.

expression2
Gerekli. Herhangi bir Boolean ifade.

Açıklamalar

Derlenen kod başka bir ifadenin sonucuna bağlı olarak bir ifadenin değerlendirmesini atlayabilirse mantıksal işlemin kısa devre olduğu söylenir. değerlendirilen ilk ifadenin sonucu işlemin nihai sonucunu belirlerse, ikinci ifadeyi değerlendirmeye gerek yoktur, çünkü nihai sonucu değiştiremez. Atlanan ifade karmaşıksa veya yordam çağrıları içeriyorsa kısa devre performansı artırabilir.

İfadelerden biri veya her ikisi de olarak değerlendirilirse True, result olur True. Aşağıdaki tabloda nasıl result belirlendiği gösterilmektedir.

Varsa expression1 Ve expression2 değeri result :
True (değerlendirilmedi) True
False True True
False False False

Veri Türleri

işleci OrElse yalnızca Boole Veri Türü için tanımlanır. Visual Basic, ifadeyi değerlendirmeden önce her işleneni Boolean gereken şekilde dönüştürür. Sonucu sayısal bir türe atarsanız, Visual Basic sonucu Boolean türünden False0 olur ve True olur -1gibi bir türe dönüştürür. Daha fazla bilgi için bkz . Boole Türü Dönüştürmeleri.

Aşırı Yükleme

Or İşleci ve IsTrue İşleci aşırı yüklenebilir; başka bir deyişle bir işlenen söz konusu sınıf veya yapı türüne sahip olduğunda bir sınıf veya yapı davranışını yeniden tanımlayabilir. ve IsTrue işleçlerinin aşırı yüklenmesi Or işlecin davranışını OrElse etkiler. Kodunuz ve IsTrueöğesini aşırı yükleyen Or bir sınıf veya yapı kullanıyorsaOrElse, yeniden tanımlanmış davranışlarını anladığınızdan emin olun. Daha fazla bilgi için bkz . İşleç Yordamları.

Örnek 1

Aşağıdaki örnek, iki ifadede mantıksal ayrıştırma gerçekleştirmek için işlecini kullanır OrElse . Sonuç, iki ifadeden birinin doğru olup olmadığını gösteren bir Boolean değerdir. İlk ifade ise True, ikinci ifade değerlendirilmez.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b OrElse b > c
secondCheck = b > a OrElse b > c
thirdCheck = b > a OrElse c > b

Yukarıdaki örnek sırasıyla , Trueve False sonuçlarını Trueüretir. hesaplamasında firstCheck, birinci ifade zaten Trueolduğundan ikinci ifade değerlendirilmez. Ancak, ikinci ifade hesaplamasında secondCheckdeğerlendirilir.

Örnek 2

Aşağıdaki örnekte iki yordam çağrısı içeren bir If...Then deyimi gösterilmektedir. İlk çağrı döndürürse True, ikinci yordam çağrılmaz. İkinci yordam, kodun bu bölümü çalıştığında her zaman gerçekleştirilmesi gereken önemli görevleri gerçekleştirirse bu beklenmeyen sonuçlara neden olabilir.

If testFunction(5) = True OrElse otherFunction(4) = True Then
    ' If testFunction(5) is True, otherFunction(4) is not called.
    ' Insert code to be executed.
End If

Ayrıca bkz.