Tipos Nullable

Los tipos Nullable son una solución consistente para determinar cuando el valor de un objeto esta vacio. Un tipo Nullable se declara añadiendo el modificador de tipo ? en una declaración de tipo. Ejemplo:

double? variable1=null;

El objeto variable1 es de tipo nullable y su tipo subyacente es double. Un tipo nullable extiende la interfaz del tipo subyacente mediante una propiedad HasValue y una Value. Ambas propiedades son publicas y de solo lectura.

HasValue es una propiedad booleana, mientras que el tipo de Value es el mismo que el del tipo subyacente. Si al tipo nullable se le asigna un valor no nulo, HasValue es true y la propiedad Value es accesible. De otro modo, HasValue es falso, y se lanza una excepción si la propiedad Value es accesada. El rango de valores aceptable para un tipo nullable incluye el valor null y el rango de valores soportado por el tipo subyacente.

Para establecer un valor por defecto en un tipo nullable se utiliza el operador ??. El valor por defecto debe ser del mismo tipo que el del tipo subyacente. El valor por defecto es regresado si el tipo nulabble es null, de lo contrario se regresa vacío. El siguiente código establece el valor por defecto de variablea a cero. De lo contrario, a variable2 se le asigna el valor de variable1:


double variable2=variable1??0;
static void Main() {
int? variablea=null;
Console.WriteLine(variablea.HasValue); // false
int variableb=variablea??5;
Console.WriteLine(variableb); // 5
}

1 comentario:

Anónimo dijo...

Tópico interessante nesta página, tópicos deste modo dignificam aos que reflectir aqui :/
Realiza mais de este blog, a todos os teus leitores.