Aracılığıyla paylaş


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)

And İşleci (Visual Basic)

IsFalse İşleci (Visual Basic)

Kavramlar

Visual Basic'de Mantıksal ve Bit Düzeyinde İşleçler