Aracılığıyla paylaş


AndAlso iş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ı Boolean 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ı

Ve işlecini (Visual Basic) Ve IsFalse iş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. Operatör 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

/ Bitsel Mantıksal operatörler (Visual Basic)

Visual Basic'te işleç önceliği

(Visual Basic) işlevine göre listelenen işleçleri

Ve işlecini (Visual Basic)

IsFalse işleci (Visual Basic)

Kavramlar

Visual Basic'te mantıksal ve Bitsel işleçler