Not (Operador, Visual Basic)
Lleva a cabo o la negación lógica de una expresión de tipo Boolean o la negación bit a bit de una numérica.
result = Not expression
Elementos
result
Obligatorio. Cualquier expresión numérica o de tipo Boolean.expression
Obligatorio. Cualquier expresión numérica o de tipo Boolean.
Comentarios
En la siguiente tabla se muestra cómo se determina result cuando las expresiones son de tipo Boolean:
Si el valor de expression es: |
El valor de result es: |
---|---|
True |
False |
False |
True |
En las expresiones numéricas, el operador Not invierte los valores de bits de las expresiones numéricas y establece el bit correspondiente en result de acuerdo con la siguiente tabla:
Si el bit de expression es |
El bit de result es |
---|---|
1 |
0 |
0 |
1 |
Nota |
---|
Dado que los operadores lógicos y los operadores bit a bit tienen una prioridad inferior a la de otros operadores aritméticos y relacionales, las operaciones bit a bit deben incluirse entre paréntesis para garantizar una correcta ejecución. |
Tipos de datos
En una negación booleana, el tipo de datos del resultado es Boolean. En una negación bit a bit, el tipo de datos del resultado es el mismo que el de expression. Sin embargo, si la expresión es Decimal, el resultado es Long.
Sobrecarga
El operador Not se puede sobrecargar, lo que significa que una clase o una estructura puede definir de nuevo su comportamiento cuando su operando tiene el tipo de dicha clase o estructura. Si el código utiliza este operador en una clase o estructura de este tipo, asegúrese de conocer su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador (Visual Basic).
Ejemplo
En el ejemplo siguiente se utiliza el operador Not para llevar a cabo la negación lógica de una expresión de tipo Boolean. El resultado es un valor Boolean que representa el inverso 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 los resultados False y True, respectivamente.
En el ejemplo siguiente se utiliza el operador Not para llevar a cabo la negación lógica de los bits individuales de una expresión numérica. El bit en el modelo resultante se establecerá en el valor inverso del bit correspondiente en el modelo del operando, incluido el bit correspondiente al 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 los resultados –11, –9 y –7, respectivamente.
Vea también
Referencia
Operadores lógicos y bit a bit (Visual Basic)
Prioridad de operador en Visual Basic
Operadores enumerados por funcionalidad (Visual Basic)