Una de las excepciones más típicas que podemos encontrar en un lenguaje de programación fuertemente tipado es la de referencia nula. C# Proporciona tres operadores para facilitar el trabajo con nulos: el operador de Null-Coalescing, el operador null-Coalescing assignment.

Pero veamos primero lo que significa Tipos de valores nulos, por definición los tipos de referencias pueden representar un valor inexistente. Es decir podemos hacer algo así:

 

 

Podemos resolver este problema utilizando una expresión especial llamada nullable. Otros herramientas con las que contamos para trabajar con nulos son:

 

Operador Null-Coalescing

(??) Devuelve el valor de su mano izquierda si no es nulo; evalúa el operando de la derecha y devuelve su resultado.

 

Operador Null-Coalescing Assignment

(??=) Está disponible a partir de C# 8.0 y posteriores, opera de la forma «si la expresion de la izquierda resulta en null asigna el valor de la mano derecha».

Cuando es útil usar este operador?
  • Cuando trabaje con tipos de valores anulables y necesite proporcionar un valor de un tipo de valor subyacente, utilice el operador (??=)
  • Para especificar el valor a proporcionar en caso de que un valor de tipo anulable sea nulo.

 

Formas de evitar la excepción de referencia nula:

  • Recuerda instanciar los “reference types”.
  • No olvides que si obtienes un valor de retorno nulo de un método, y luego llamas a un método con el  tipo devuelto el runtime lanza una excepción NullReferenceException.

 

En este breve post sólo quería mostrarte las opciones que tienes para trabajar con nulos y evitar las NullReferenceException. Si quieres profundizar en estos temas te recomiendo que leas esto:

C# operators and expressions – C# reference | Microsoft Docs

Gracias por llegar hasta aquí, nos vemos el jueves! ::D