Sdílet prostřednictvím


AndAlso – operátor (Visual Basic)

Provádí nesmídojít ke zkratu logické spojení dvou výrazů.

result = expression1 AndAlso expression2

Části

Termín

Definice

result

Povinné.Všechny Boolean výraz.Výsledkem je Boolean výsledek porovnání dvou výrazů.

expression1

Povinné.Všechny Boolean výraz.

expression2

Povinné.Všechny Boolean výraz.

Poznámky

Logická operace, které je označováno jako nesmídojít ke zkratu Pokud zkompilovaný kód vynechat hodnocení jeden výraz v závislosti na výsledku jiného výrazu.Je-li výsledek první výraz vyhodnocen Určuje konečný výsledek operace, není nutné vyhodnotit výraz druhé, protože ji nelze změnit konečný výsledek.Nesmídojít ke zkratu může zlepšit výkon obejitím výraz je složitý nebo zahrnuje volání procedura .

Pokud jsou oba výrazy vyhodnoceny True, result je True.Následující tabulka ukazuje, jak result je určena.

If expression1 is

And expression2 is

Hodnota result je

True

True

True

True

False

False

False

(nehodnoceno)

False

Typy dat

AndAlso operátor je definována pouze Boolean – datový typ (Visual Basic). Visual Basic převede operandem jako nezbytné Boolean a provede operaci zcela v Boolean.Pokud můžete přiřadit výsledek číselný typ Visual Basic převede z Boolean typu.To by mohla vést k neočekávanému chování.Například 5 AndAlso 12 vede k –1 při převodu na Integer.

Přetěžování

And – operátor (Visual Basic) a IsFalse – operátor (Visual Basic) může být přetížení, což znamená, že třída nebo struktura předefinovat jejich chování při operand je typu třída nebo struktura.Přetížení And a IsFalse operátory ovlivňuje chování AndAlso operátor. Pokud váš kód používá AndAlso na třída nebo struktura přetížení And a IsFalse, je třeba pochopit jejich předefinovaná chování.Další informace naleznete v tématu Procedury operátoru (Visual Basic).

Příklad

V následujícím příkladu AndAlso operátor logické spojení dvou výrazů. Výsledkem je Boolean , zda conjoined celý výraz představuje hodnotu true.Pokud je první výraz False, druhý nebudou vyhodnoceny.

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

V předchozím příkladu vytváří výsledky True, False, a False, resp..Při výpočtu secondCheck, druhý výraz není vyhodnocena, protože již je první False.Však druhý výraz vyhodnocen ve výpočtu thirdCheck.

Následující příklad ukazuje Function procedura vyhledá danou hodnotu mezi prvky pole. Pokud je pole prázdné, nebo byla překročena délka pole, While výpis neprovádí test prvek pole proti hledanou hodnotu.

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

Viz také

Referenční dokumentace

Logické/bitové operátory (Visual Basic)

Priorita operátorů v jazyce Visual Basic

Operátory uvedené podle funkce (Visual Basic)

And – operátor (Visual Basic)

IsFalse – operátor (Visual Basic)

Koncepty

Logické a bitové operátory v jazyce Visual Basic