OrElse İşleci (Visual Basic)
Short-circuiting iki deyim üzerinde dahil mantıksal disjunction gerçekleştirir.
result = expression1 OrElse expression2
Bölümleri
result
Gerekli.Herhangi bir Boolean ifadesi.expression1
Gerekli.Herhangi bir Boolean ifadesi.expression2
Gerekli.Herhangi bir Boolean ifadesi.
Notlar
Mantıksal bir işlem olduğu söylenir short-circuiting derlenmiş kodu başka bir ifadenin sonucunu bağlı bir ifadenin değerlendirmesi devre dışı bırakabilir.Değerlendirilen ilk deyimin sonucu işlem sonucunu belirler, ikinci deyim değerlendirmek için gerek yoktur sonucunu değiştiremezsiniz çünkü.Short-circuiting geçildiğinde ifade karmaşık veya yordam çağrıları içeriyorsa performansını artırabilirsiniz.
Veya her ikisi için değerlendirebilir, True, result olan True.Aşağıdaki tabloda gösterilmektedir nasıl result belirlenir.
If expression1 is |
And expression2 is |
Değeri result olduğu |
---|---|---|
True |
(Değerlendirilmedi) |
True |
False |
True |
True |
False |
False |
False |
Veri türleri
OrElse İşleci yalnızca tanımlı Boole Veri Türü (Visual Basic).Visual Basic için gerektiğinde her bir işlenen dönüştürür Boolean tamamen işlemi gerçekleştirir ve Boolean.Bir sayısal tür sonucu atarsanız, Visual Basic buradan dönüştürür Boolean bu tür için.Bu beklenmeyen bir davranış produce.Örneğin, 5 OrElse 12 neden –1 için dönüştürüldüğünde Integer.
Aşırı
Or İşleci (Visual Basic) Ve IsTrue İşleci (Visual Basic) olabilir aşırı, o sınıf veya yapı türü bir işlenen sahip olduğunda bir sınıf veya yapı davranışlarını tanımlayabilirsiniz, anlamına gelir.Aşırı Or ve IsTrue işleçleri davranışını etkileyen OrElse işleci.Kodunuzu kullanıyorsa, OrElse bir sınıf veya overloads yapı Or ve IsTrue, yeniden tanımlanan davranışlarını anladığınızdan emin olun.Daha fazla bilgi için bkz. İşleç Yordamları (Visual Basic).
Örnek
Aşağıdaki örnek OrElse mantıksal disjunction iki deyim üzerinde gerçekleştirmek için işleci.Sonuç bir Boolean gösteren bir değer ya da iki ifadeler olup true.İlk ifade, True, ikinci değil değerlendirilir.
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
Önceki örnekte sonuçları üretir True, True, ve False sırasıyla.Hesaplamasına firstCheck, ilk olduğundan İkinci ifade değerlendirilmez True.Ancak, ikinci hesaplanmasında deyiminin secondCheck.
Aşağıdaki örnekte gösterildiği bir If...Then iki yordam çağrıları içeren ifade.İlk çağrı döndürürse True, ikinci yordamı çağrılmaz.Bu bölüm kodu çalıştırdığında, her zaman gerçekleştirilmesi gereken önemli görevleri ikinci yordam gerçekleştirir, bu beklenmeyen sonuçlara neden.
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.
Başvuru
Mantıksal/Bit Düzeyinde İşleçler (Visual Basic)
Visual Basic'de İşleç Önceliği
İşlevselliğe Göre Listelenmiş İşleçler (Visual Basic)