Operador Not (Visual Basic)
Realiza negação lógica em uma expressão Boolean, ou negação bit a bit em uma expressão numérica.
result = Not expression
Partes
result
Obrigatório. Qualquer Boolean ou expressão numérica.expression
Obrigatório. Qualquer Boolean ou expressão numérica.
Comentários
Para expressões Boolean, a tabela seguinte ilustra como o result é determinado.
Se expression está |
O valor do result é |
---|---|
True |
False |
False |
True |
Para expressões numéricas, o operador Not inverte os valores dos bits de qualquer expressão numérica e fixa o bit correspondente em result, de acordo com a tabela a seguir.
Se o bit em expression é |
O bit em result será |
---|---|
1 |
0 |
0 |
1 |
Dica
Considerando que os operadores lógicos e bit a bit têm menor precedência do que outros operadores aritméticos e relacionais, quaisquer operações bit a bit devem ser cercada por parênteses para seja assegurada a acurácia da execução.
Tipos de dados
Para uma negação Boleana, o tipo de dado do resultado será Boolean. Para uma negação bit a bit, o tipo de dado do resultado é o mesmo da expression. Entretanto, se a expressão for Decimal, o resultado será Long.
Sobrecarga
O operador Notpode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefenir seu comportamento quando seu 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 a seguir usa o operador Not para realizar negação lógica em uma expressão Boolean. O resultado é um Boolean que representa o inverso do valor da expressão.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = Not (a > b)
secondCheck = Not (b > a)
O exemplo anterior gera resultados de False e True, respectivamente.
O exemplo a seguir usa o operador Not para realizar negação lógica dos bits individuais de uma expressão numérica. O bit no padrão de resultado é o inverso do bit correspondente no padrão de operando, incluindo o bit de sinal.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (Not a)
secondPattern = (Not b)
thirdPattern = (Not c)
O exemplo anterior gera os resultados -11,-9, e -7, 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)