C# - Anulables
C# proporciona tipos de datos especiales, el anulable tipos, a los que puede asignar un rango normal de valores, así como valores nulos.
Por ejemplo, puede almacenar cualquier valor de -2,147,483,648 a 2,147,483,647 o nulo en una variable Nullable
< data_type> ? <variable_name> = null;
El siguiente ejemplo demuestra el uso de tipos de datos anulables −
Demostración en vivousing System; namespace CalculatorApplication { class NullablesAtShow { static void Main(string[] args) { int? num1 = null; int? num2 = 45; double? num3 = new double?(); double? num4 = 3.14157; bool? boolval = new bool?(); // display the values Console.WriteLine("Nullables at Show: {0}, {1}, {2}, {3}", num1, num2, num3, num4); Console.WriteLine("A Nullable boolean value: {0}", boolval); Console.ReadLine(); } } }
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −
Nullables at Show: , 45, , 3.14157 A Nullable boolean value:
El operador coalescente nulo (??)
El operador coalescente nulo se usa con los tipos de valores que aceptan valores NULL y los tipos de referencia. Se utiliza para convertir un operando al tipo de otro operando de tipo de valor anulable (o no), donde es posible una conversión implícita.
Si el valor del primer operando es nulo, entonces el operador devuelve el valor del segundo operando, de lo contrario, devuelve el valor del primer operando. El siguiente ejemplo explica esto −
Demostración en vivousing System; namespace CalculatorApplication { class NullablesAtShow { static void Main(string[] args) { double? num1 = null; double? num2 = 3.14157; double num3; num3 = num1 ?? 5.34; Console.WriteLine(" Value of num3: {0}", num3); num3 = num2 ?? 5.34; Console.WriteLine(" Value of num3: {0}", num3); Console.ReadLine(); } } }
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −
Value of num3: 5.34 Value of num3: 3.14157
Lenguaje C