Introducción: en C# los tipos por valor como int double y bool no aceptan null por defecto, pero en muchos escenarios es necesario representar ausencia de valor, por ejemplo cuando una base de datos devuelve un campo vacío, cuando un usuario no proporciona un dato o cuando existen campos opcionales; para esos casos se usan los nullable types.
Sintaxis: se añade el signo de interrogación tras el tipo. Ejemplo práctico: int? edad = null; edad = 25; esto permite almacenar tanto un número entero como null en la misma variable.
Comprobación y uso: se puede saber si hay valor con HasValue y recuperar el valor con Value. Ejemplo ilustrativo: int? salario = 5000; if (salario.HasValue) Console.WriteLine(salario.Value); else Console.WriteLine(0); otra forma habitual es usar el operador null-coalescing ?? para proporcionar un valor por defecto: int? bono = null; int bonoFinal = bono ?? 1000; Console.WriteLine(bonoFinal);
Ejemplo real: en modelos de dominio un campo puede ser opcional. Por ejemplo: class Empleado { public string Nombre { get; set; } public int? Edad { get; set; } } var emp = new Empleado { Nombre = Ana, Edad = null }; Console.WriteLine(emp.Edad ?? 0); aquí la edad no es obligatoria y al imprimir se puede sustituir null por un valor por defecto.
Buenas prácticas: evitar acceder a Value sin comprobar HasValue, preferir el operador ?? cuando se necesita un valor alternativo, y usar nullable types para representar claramente la posibilidad de ausencia de dato en la capa de dominio o al mapear resultados de base de datos.
Resumen: los tipos por valor simples no admiten null, pero int? double? bool? y otros nullable types permiten almacenar tanto un valor como null; son especialmente útiles para datos provenientes de bases de datos, campos opcionales y entradas de usuario no obligatorias.
Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida para empresas de todos los tamaños. Somos especialistas en inteligencia artificial e ia para empresas, desarrollamos agentes IA personalizados e integraciones con Power BI, y ofrecemos servicios de ciberseguridad para proteger sus activos digitales. También proveemos servicios cloud aws y azure y servicios inteligencia de negocio para extraer valor de sus datos. Si necesita soluciones a medida en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, agentes IA o power bi, Q2BSTUDIO combina experiencia técnica y enfoque práctico para llevar su proyecto del concepto a la producción.
Palabras clave para posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.