Colabora
 

Operador ??

El nuevo operador ??, ejemplos básicos

Fecha: 22/Oct/2007 (22/10/2007)
Actualizado: 25/Oct/2007
Autor: José Luis Martín - joseluis@phydelta.net

http://www.phydelta.com/blog

 


Introducción

Una de las nuevas características de C# 2.0 es el operador “??” “Null coalescing”. Este operador proporciona una forma elegante y sencilla de comprobar si un operador es nulo, y en caso afirmativo sustituir por un valor alternativo.

 

Ejemplos de Uso

En pocas palabras el operador “??” comprueba si el valor del lado izquierdo de la expresión es nulo. En caso afirmativo devuelve el valor asignado en el lado derecho de la expresión. En el caso de que el valor del lado izquierdo de la expresión no sea nulo entonces se devuelve el valor del lado izquierdo. Yo creo que es mejor dejar un par de ejemplos.

string message = "Hola Mundo";
string result = message ?? "Es un valor nulo";

//Salida: result == "Hola Mundo"

En este caso como result contiene el valor de la variable message, dado que esta última se ha inicializado previamente.

string message = null;
string result = message ?? "Es un valor nulo";

//Salida: result == "Es un valor nulo"

En este caso el valor es null, luego el valor de salida es el alternativo.
Otra de las ventajas es que “??” es fuertemente tipado y además esta soportado para los tipos básicos por valor. Os dejo otro ejemplo ahora con el tipo int.

int? number = 30;
int result = number ?? 0;

//Salida: result == 30;

int? number = null;
int result = number ?? 0;

//Salida: result == 0;

Con estas líneas únicamente trato de ilustrar una de las nuevas características de C# 2.0 que es muy útil en aquellas situaciones donde debemos comprobar si el valor de entrada es nulo o no. ¿Quien no se ha dado con la situación de verificar si el valor que viene de una base de datos es o no null?. Con esta técnica todo es mucho más sencillo.

Un saludo.


José Luis Martín.
joseluis@phydelta.net
http://www.phydelta.com/blog



Ir al índice principal de el Guille