Nullables C#

Tipos Nullable (?)

El operador ? se usa para convertir un tipo de valor en un tipo de valor nullable, el cual puede contener un valor nulo.

int? numeroNullable = null;
if(numeroNullable.HasValue)
{
	Console.WriteLine(numeroNullable.Value);
} 
else 
{
	// null value
}

Coalescencia de Nulos (??)

Se usa para proporcionar un valor default en caso de que una expresion nullable contenga un null.

int? numeroNullable = null;
int numero = numeroNullable ?? 0; // si es null, usa 0

Asignacion de coalescencia de nulos (??=)

int? numeroNullable = null;
numero ??= 10; // numero es null, asi que asigna el valor 10

Acceso condicional a miembros (?.)

Este operador permite acceder a un miembro de un objeto solo si el objeto no es nulo, evitando asi una NullReferenceException.

string[] nombres = null;
int? longitud = nombres?.Length; // asigna null en lugar de lanzar una excepcion