AndAlso İşleci (Visual Basic)
Mantıksal birlikte iki deyim üzerinde short-circuiting gerçekleştirir.
result = expression1 AndAlso expression2
Bölümleri
Terim |
Tanım |
result |
Gerekli.Herhangi bir Boolean ifadesi.Sonuç Boolean iki ifadeler karşılaştırma sonucu. |
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 artırabilirsiniz.
Her ikisi de 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 |
True |
True |
True |
False |
False |
False |
(Değerlendirilmedi) |
False |
Veri türleri
AndAlso işleç yalnızca tanımlı Boole Veri Türü (Visual Basic). Visual Basic dönüştürür her işleç için gerektiği gibi Boolean tamamen işlemi gerçekleştirir ve Boolean.Sonuç, Visual Basic sayısal bir tür atamak buradan dönüştürür, Boolean bu tür için.Bu beklenmeyen bir davranış produce.Örneğin, 5 AndAlso 12 neden –1 için dönüştürüldüğünde Integer.
Aşırı
And İşleci (Visual Basic) Ve IsFalse İş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ı And ve IsFalse işleçleri davranışını etkileyen AndAlso işleç. Kodunuzu kullanıyorsa, AndAlso bir sınıf veya overloads yapı And ve IsFalse, 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 AndAlsomantıksal birlikte iki deyim üzerinde gerçekleştirmek için işleç . Sonuç bir Boolean tüm deyim conjoined olup olmadığını gösteren bir değer doğruysa.İlk ifade, False, 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 AndAlso b > c
secondCheck = b > a AndAlso b > c
thirdCheck = a > b AndAlso c > b
Önceki örnekte sonuçları üretir True, False, ve False, sırasıyla.Hesaplamasına secondCheck, ilk olduğundan İkinci ifade değerlendirilmez False.Ancak, ikinci hesaplanmasında deyiminin thirdCheck.
Aşağıdaki örnekte gösterildiği bir Functionbir dizinin öğeleri arasında belirli bir değeri arar yordam . Dizi boşsa veya dizi uzunluğu aşıldı, While hesap özeti arama değeri karşı dizi öğesinin mu test .
Public Function findValue(ByVal arr() As Double,
ByVal searchValue As Double) As Double
Dim i As Integer = 0
While i <= UBound(arr) AndAlso arr(i) <> searchValue
' If i is greater than UBound(arr), searchValue is not checked.
i += 1
End While
If i > UBound(arr) Then i = -1
Return i
End Function
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)