Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Executa negação lógica em uma Boolean expressão ou negação bit a bit em uma expressão numérica.
Sintaxe
result = Not expression
Partes
result
Obrigatório Qualquer Boolean expressão numérica ou qualquer.
expression
Obrigatório Qualquer Boolean expressão numérica ou qualquer.
Observações
Para Boolean expressões, a tabela a seguir ilustra como result é determinado.
Se expression for |
O valor de result é |
|---|---|
True |
False |
False |
True |
Para expressões numéricas, o Not operador inverte os valores de bit de qualquer expressão numérica e define o bit correspondente de result acordo com a tabela a seguir.
Se o bit dentro expression for |
O bit dentro result é |
|---|---|
| 1 | 0 |
| 0 | 1 |
Observação
Como os operadores lógicos e bit a bit têm uma precedência menor do que outros operadores aritméticos e relacionais, todas as operações bit a bit devem ser colocadas entre parênteses para garantir a execução precisa.
Observe que se Not someStr?.Contains("some string") ou qualquer outro valor que seja avaliado como Boolean? tem o valor de nothing ou HasValue=false, o else bloco será executado. A avaliação segue a avaliação do SQL em que nulo/nada não é igual a nada, nem mesmo outro nulo/nada.
Tipos de dados
Para uma negação booliana, o tipo de dados do resultado é Boolean. Para uma negação bit a bit, o tipo de dados de resultado é o mesmo que o de expression. No entanto, se a expressão for Decimal, o resultado será Long.
Sobrecarga
O Not operador pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando seu operando tem o tipo dessa classe ou estrutura. Se o código usar esse operador em tal classe ou estrutura, certifique-se de entender seu comportamento redefinido. Para obter mais informações, consulte Procedimentos de Operador.
Exemplo 1
O exemplo a seguir usa o Not operador para executar negação lógica em uma Boolean expressão. O resultado é um Boolean valor 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 produz resultados de False e True, respectivamente.
Exemplo 2
O exemplo a seguir usa o Not operador para executar a negação lógica dos bits individuais de uma expressão numérica. O bit no padrão de resultado é definido como 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 produz resultados de –11, –9 e –7, respectivamente.