¿Qué es el operador coalescente nulo en C#?

Que Es El Operador Coalescente Nulo En C



C# es un lenguaje de programación ampliamente utilizado diseñado para crear aplicaciones eficientes y robustas para varias plataformas. El lenguaje tiene muchas características avanzadas, incluyendo la operador coalescente nulo , que ayuda a simplificar el código complejo al proporcionar una sintaxis compacta para manejar valores nulos. Este operador se ha vuelto popular entre los desarrolladores que buscan un método directo para manejar nulo valores en sus proyectos.

Este artículo entrará en detalles sobre el operador coalescente nulo .







¿Qué es un operador coalescente nulo en C#?

En C#, el símbolo del operador coalescente nulo es ?? . Si una variable es nula, se usa para darle un valor predeterminado.



Por ejemplo, si tenemos una variable X que puede ser nulo y queremos asignarle un valor predeterminado de 10 si es nulo, podemos usar el operador coalescente nulo como sigue:



int y = x ?? 10

 





Esta sentencia asignará el valor de 10 a y si x es nulo, de lo contrario, tomará el valor de x.

Devolverá el valor del operando izquierdo si no es nulo. Se examina el operando diestro y se devuelve el resultado si es nulo. Alternativamente, si el operando de la izquierda se evalúa como no nulo, no evalúa su operando de la derecha.



La forma tradicional de escribir el código sin la operador coalescente nulo es:

si ( el resultado es nulo )

        devolver lista nueva < Persona > ( ) ;

    devolver resultado;

 

Podemos condensar esto en una sola línea que contiene tanto el valor predeterminado no nulo como la verificación nula usando el operador coalescente nulo :

devolver resultado ?? lista nueva < Persona > ( ) ;

 

Algunos puntos importantes para recordar acerca de operador coalescente nulo son:

  • Una variable debe ser el operando de la izquierda del ?? operador.
  • El operando de la izquierda del operador ??= no puede ser un tipo que no admita valores NULL.
  • El operador de fusión nula no se puede sobrecargar.
  • El operador de fusión nula es asociativo por la derecha. Esto significa que una expresión como a ??= b ??= c se evaluará como a ??= (b ??= c).

Usos del operador coalescente nulo

los usos de la operador coalescente nulo son:

 

1: proporcionar valores predeterminados

Al trabajar con tipos anulables, si el valor es nulo, puede utilizar el operador coalescente nulo para proporcionar un valor predeterminado en lugar de lanzar una excepción.

utilizando el sistema;

Programa de clase pública
{
vacío público estático Principal ( )
    {
¿En t? nullableValue = nulo;
valor int = valor nulo ?? 10 ;
Consola.WriteLine ( 'El valor es: ' + valor ) ;
    }
}

 

En el ejemplo anterior, definimos el entero valor anulable variable y darle un valor de cero. El operador coalescente nulo luego se usa para proporcionar a la variable de valor un valor predeterminado de 10 si nullableValue es nulo. A continuación, el valor se muestra en la consola.

2: Evitar excepciones de referencias nulas

Los valores nulos pueden generar excepciones de referencias nulas cuando se trabaja con estructuras de datos sofisticadas, como objetos y matrices. Estas excepciones se pueden evitar utilizando el operador coalescente nulo , que proporciona valores predeterminados.

utilizando el sistema;

clase pública myClass
{
cadena pública Nombre { conseguir; colocar ; }
identificación pública int { conseguir; colocar ; }
}
Programa de clase pública
{
vacío público estático Principal ( )
    {
miClase persona = nulo;
cadena nombre = persona?.Nombre ?? 'Desconocido' ;
En t identificación = persona?.DNI?? 0 ;
Consola.WriteLine ( 'Nombre: ' + nombre ) ;
Consola.WriteLine ( 'IDENTIFICACIÓN: ' + identificación ) ;
    }
}

 

Nombre y IDENTIFICACIÓN son atributos de la mi clase class en el código anterior. Para acceder con seguridad a la Nombre y IDENTIFICACIÓN propiedades del objeto de persona y proporciona valores predeterminados si son nulos, establece una variable de persona en nulo y luego utiliza el operador condicional nulo (?.) y el operador coalescente nulo (??). Luego, la consola se imprime con los valores de nombre e identificación.

3: Eliminación de condiciones if-else redundantes

También puede usar el operador coalescente nulo para hacer que su código sea más conciso y legible al eliminar la necesidad de redundancia condiciones if-else .

Por ejemplo:

utilizando el sistema;

Ejemplo de espacio de nombres
{
clase miclase
    {
vacío estático Principal ( cadena [ ] argumentos )
        {
¿En t? nullableValue = nulo;
valor int;
            si ( valor anulable ! = nulo )
            {
valor = valor anulable.Valor;
            }
            demás
            {
valor = 10 ;
            }
Consola.WriteLine ( 'El valor es: ' + valor ) ;
        }
    }
}

 

En el código anterior, el operador coalescente nulo ?? se utiliza para asignar el valor de valor anulable valorar. Si valor anulable no es nulo, entonces el valor tendrá el mismo valor que valor anulable . Si valor anulable es nulo, entonces el valor tendrá el valor de 10. El si-más ya no se requiere la condición y el código ahora es más corto y más fácil de comprender.

Conclusión

El operador coalescente nulo en C# es una característica poderosa que simplifica la forma en que los desarrolladores manejan los valores nulos en sus proyectos. Este operador proporciona una sintaxis compacta, eficiente y flexible para asignar valores predeterminados a variables que pueden ser nulas. Al usar el operador coalescente nulo , los desarrolladores pueden escribir código más legible, fácil de mantener y eficiente, ahorrando tiempo y esfuerzo en el proceso de desarrollo.