OrElse İşleci (Visual Basic)

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

Syntax

result = expression1 OrElse expression2  

Bölümler

result
Gereklidir. Herhangi Boolean bir ifade.

expression1
Gereklidir. Herhangi Boolean bir ifade.

expression2
Gereklidir. Herhangi Boolean bir ifade.

Açıklamalar

Derlenmiş kod başka bir ifadenin sonuçlarına bağlı olarak bir ifadenin değerlendirilmesini atlarsa, mantıksal bir işlem kısa devre olarak ifade edilen bir işlemdir. Değerlendirilen ilk ifadenin sonucu, işlemi son sonucu belirlerse, son sonucu değiştireyemediklerine göre ikinci ifadeyi değerlendirmeye gerek yoktur. Kısa devre atlayan ifade karmaşıksa veya yordam çağrıları içeriyorsa performansı geliştirebilir.

İki ifadeden biri veya her ikisi de olarak True değerlendirilirse, result True olur. Aşağıdaki tabloda, nasıl belirlen result olduğu göstermektedir.

Şu expression1 ise: Ve expression2 şu şekildedir: değeri result şu şekildedir:
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 Boolean işleneni gereken şekilde dönüştürür. Sonucu sayısal bir türe atarsanız, Visual Basic olan ve haline gelen Boolean bu False türe 0 True -1 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üklenmiş olabilir. Başka bir ifade, bir işlenen bu sınıf veya yapıya sahip olduğunda sınıf veya yapının davranışını yeniden tanımlandırabileceğiniz anlamına gelir. ve Or IsTrue işleçlerinin aşırı yüklenmesi işlecinin davranışını OrElse etkiler. Kodunuz ve OrElse aşırı yüklerine sahip bir sınıf veya yapıda kullanıyorsa, bunların yeniden Or IsTrue tanımlanmamış davranışlarını anlayasınız. Daha fazla bilgi için bkz. İşleç Yordamları.

Örnek 1

Aşağıdaki örnek, iki OrElse ifadede mantıksal ayrım gerçekleştirmek için işleci kullanır. Sonuç, iki Boolean ifadeden herhangi biri true olup olmadığını temsil eden bir değerdir. İlk ifade True ise, ikinci 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 True , ve sonuçlarını True False üretir. hesaplaması firstCheck içinde, birinci zaten olduğundan ikinci ifade değerlendirilmez. True Ancak ikinci ifade, hesaplaması ile secondCheck değerlendirilir.

Örnek 2

Aşağıdaki örnekte, iki yordam If çağrısı içeren bir ... deyimi Then gösterir. İlk çağrı True döndürürse, ikinci yordam çağrılmaz. Bu, ikinci yordam kodun bu bölümü çalıştır olduğunda her zaman gerçekleştirecek önemli görevleri gerçekleştirirse beklenmeyen sonuçlar üretebilir.

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.