DEV Community

Verónica Guamán
Verónica Guamán

Posted on

Explorando el Operador ?? en C#

En el mundo de la programación, uno de los desafíos más comunes al que nos enfrentamos es la gestión o manejo de los valores nulos.
En C# como en otros lenguajes, nos encontramos con diversas formas para manejar este problema. Específicamente en C# tenemos una opción que nos permite gestionar los valores nulos de forma concisa, y este es el operador de fusión o coalición nula (??).

En este breve artículo, vamos a entender cómo podemos simplificar y mejorar nuestro código cuando tratamos con valores nulos.

¿Qué es el Operador “??”?
El operador ?? en C# se utiliza para proporcionar un valor de respaldo en caso de que una expresión sea nula. A continuación te muestro su sintaxis, que es bastante simple:

var resultado = expresion1 ?? expresion2;
Enter fullscreen mode Exit fullscreen mode

Aquí, expresion1 es la expresión cuyo valor se evalúa, y expresion2 es el valor de respaldo que se utiliza si expresion1 es nula.

A continuación te muestro dos ejemplos prácticos en los que podemos utilizar este operador.

  1. Asignar un valor por defecto si un valor es nulo:
string nombre = ObtenerNombre() ?? "Nombre Predeterminado";
Enter fullscreen mode Exit fullscreen mode
int longitud = array?.Length ?? 0;
Enter fullscreen mode Exit fullscreen mode
  1. Evitar excepciones NullReferenceException.

Para eso podemos desencadenar una excepción si el resultado es nulo:

string respuesta = ObtenerUsuario() ?? throw new Exception("El usuario no existe");
Enter fullscreen mode Exit fullscreen mode

Al explorar estos ejemplos vemos el poder que tiene este operador al permitirnos manejar los valores nulos que a menudo pueden ser un dolor de cabeza en nuestras aplicaciones.

Espero que estos ejemplos hayan sido de gran ayuda para comprender cómo funciona el operador de fusión nula ( ??) en C#. ¡Nos vemos en el próximo artículo o en twitter :).

Top comments (0)