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 |
Observação: |
---|
Em uma comparação booleana, o And operador sempre avalia duas expressões, que poderiam incluir fazer chamadas de procedimento. O Operador AndAlso 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 |
Observação: |
---|
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 dados 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 Dado de Resultados de Operador.
Observação: |
---|
O And operador pode ser sobrecarregado, que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo da 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 de Operador. |
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 gera os resultados 8,2, e 0, respectivamente.
Consulte também
Conceitos
Operadores lógicas e bit a bit no Visual Basic
Referência
Precedência de operadores no Visual Basic