Operador de coalescencia nula
¿Qué significa operador nulo-coalescente?
Un operador coalescente nulo, en C #, es un operador que se usa para verificar si el valor de una variable es nulo. Está representado por el símbolo «??».
El operador de fusión nula permite la selección del primer valor no nulo de un par de valores. Se utiliza para establecer el valor predeterminado para variables de tipo de valor que acepta valores NULL o tipo de referencia. Se puede usar para construir una expresión con sintaxis simplificada que es lógicamente equivalente a una expresión que usa una instrucción if o un operador ternario en una forma más compacta. La expresión que contiene el operador de fusión nula tiene un código fuente mínimo y proporciona una mejor legibilidad.
En aplicaciones como las relacionadas con la base de datos y los datos XML, las variables pueden aparecer en un estado indefinido, lo que implica que no se establecen en ningún valor adecuado. Se utiliza un operador de fusión de nulos para comprobar si dicha variable (de tipo que acepta valores NULL) es nula. Si la variable es nula, el operador de fusión nula se utiliza para proporcionar el valor predeterminado mientras se asigna a una variable de tipo que no acepta valores NULL.
Techopedia explica el operador de fusión nula
El operador de fusión nula es un operador binario que se utiliza en una expresión condicional de la forma, «a ?? b», donde la expresión en el operando de la izquierda, «a», debe ser de tipo anulable o tipo de referencia. Si «a» no se evalúa como nulo, devuelve el resultado de la evaluación de «a». De lo contrario, la expresión del operando de la derecha, «b», se evalúa para obtener el resultado de toda la expresión.
Por ejemplo, el operador de fusión nula se puede utilizar en una propiedad de un objeto para devolver un valor predeterminado personalizado para evitar devolver un valor nulo.
La asignación de una variable de tipo de valor que acepta valores NULL a un tipo que no admite valores NULL da como resultado un error del compilador y el uso de una conversión explícita para dicha asignación puede generar una excepción. Se utiliza un operador de fusión nula en tales asignaciones para evitar el error del compilador y la excepción.
Los operandos usados en la expresión que contiene el operador de fusión nula deben evaluarse a un tipo coincidente o deben convertirse implícitamente a un tipo común.
Las operaciones de una expresión que utiliza el operador de fusión nula se agrupan de derecha a izquierda.
