Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Realiza negación lógica en una Boolean expresión o negación bit a bit en una expresión numérica.
Sintaxis
result = Not expression
Partes
result
Obligatorio. Cualquier Boolean expresión numérica o .
expression
Obligatorio. Cualquier Boolean expresión numérica o .
Observaciones
En Boolean el caso de las expresiones, en la tabla siguiente se muestra cómo result se determina.
Si expression es |
El valor de result es |
|---|---|
True |
False |
False |
True |
Para las expresiones numéricas, el Not operador invierte los valores de bits de cualquier expresión numérica y establece el bit correspondiente en result según la tabla siguiente.
Si el bit en expression es |
El bit en result es |
|---|---|
| 1 | 0 |
| 0 | 1 |
Nota:
Dado que los operadores lógicos y bit a bit tienen una prioridad menor que otros operadores aritméticos y relacionales, las operaciones bit a bit deben incluirse entre paréntesis para garantizar una ejecución precisa.
Tenga en cuenta que si Not someStr?.Contains("some string") o cualquier otro valor que se evalúa como Boolean? tiene el valor de nothing o HasValue=false, se ejecuta el else bloque . La evaluación sigue la evaluación de SQL en la que null/nothing no es igual a nada, ni siquiera a otro null/nothing.
Tipos de datos
Para una negación booleana, el tipo de datos del resultado es Boolean. Para una negación bit a bit, el tipo de datos de resultado es el mismo que el de expression. Sin embargo, si expression es Decimal, el resultado es Long.
Sobrecarga
El Not operador se puede sobrecargar, lo que significa que una clase o estructura puede redefinir su comportamiento cuando su operando tiene el tipo de esa clase o estructura. Si el código usa este operador en una clase o estructura de este tipo, asegúrese de comprender su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador.
Ejemplo 1
En el ejemplo siguiente se usa el Not operador para realizar negación lógica en una Boolean expresión. El resultado es un Boolean valor que representa la inversa del valor de la expresión.
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)
En el ejemplo anterior se generan resultados de False y True, respectivamente.
Ejemplo 2
En el ejemplo siguiente se usa el Not operador para realizar la negación lógica de los bits individuales de una expresión numérica. El bit del patrón de resultado se establece en la inversa del bit correspondiente en el patrón de operando, incluido el bit de signo.
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)
En el ejemplo anterior se generan resultados de –11, –9 y –7, respectivamente.