Operador And (Visual Basic)
Realiza conjunção lógica em duas expressões Boolean, ou uma conjunção bit a bit em duas expressões numéricas.
result = expression1 And expression2
Partes
result
Obrigatório. Qualquer Boolean ou expressão numérica. Para comparação Boolean, result é a conjunção lógica de dois valores Boolean. Para operações bit a bit, result é um valor numérico representando a conjução bit a bit de dois padrões numéricos de bits.expression1
Obrigatório. Qualquer Boolean ou expressão numérica.expression2
Obrigatório. Qualquer Boolean ou expressão numérica.
Comentários
Para comparação Booleana, result é True se e somente se as duas expression1 e expression2 são True. A tabela a seguir ilustra como result é determinado.
Se expression1 está |
E expression2 é |
O valor do result é |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
Dica
Numa comparação Booleana, o operador And sempre avalia as duas expressões, que podem incluir chamadas a procedimentos.O Operador AndAlso (Visual Basic) performa short-circuiting, o que significa que se expression1 é False, então a expression2 não é analisada.
Quando aplicado a valores númericos, o operador And executa uma comparação bit a bit de bits posicionados identicamente em duas expressões numérica e configura o bit correspondente no result de acordo com a seguinte tabela.
Se o bit em expression1 é |
E o bit na expression2 é |
O bit em result será |
---|---|---|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Dica
Ja que os operadores lógicos e bit a bit possuem uma predecedência menor que outros operadores aritméticos e relacionais, qualquer operação bit a bit deve ser fechada por parênteses para garantir resultados precisos.
Tipos de dados
Se o operando consiste de uma expressão Boolean e uma expressão numérica, o Visual Basic converte a expressão Boolean para um valor numérico (-1 para True e 0 para False) e executa uma operação bit a bit.
Para comparação Booleana, o tipo de dados do resultado é umBoolean. Para obter uma comparação bit a bit, o tipo de dado do resultado é um tipo numérico apropriado para os tipos de dados de expression1 e expression2. Veja a tabela " Comparações Relacionais e Bit a Bit" em Tipos de dados de resultados do operador (Visual Basic).
Dica
O operador And pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo daquela classe ou estrutura.Se seu código usa esse operador em tal classe ou estrutura, esteja certo que entende seu comportamento redefinido.Para obter mais informações, consulte Procedimentos do operador (Visual Basic).
Exemplo
O exemplo seguinte usa o operador And para executar uma conjunção lógica em duas expressões. O resultado é um valor Boolean que representa se as duas expressões são True.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c
O exemplo anterior gera resultados de True e False, respectivamente.
O exemplo seguinte usa o operador And para executar uma conjunção lógica nos bits individuais de duas expressões numéricas. O bit no padrão resultante é ligado se os bits correspondentes nos dois operandos são 1.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a And b)
secondPattern = (a And c)
thirdPattern = (b And c)
O exemplo anterior produz resultados de 8, 2 e 0, respectivamente.
Consulte também
Referência
Operadores lógicos/bit a bit (Visual Basic)
Precedência do operador no Visual Basic
Operadores listados por funcionalidade (Visual Basic)
Operador AndAlso (Visual Basic)