Nullable en cálculos
Comprenda cómo se propagan los valores nulos en las operaciones aritméticas.
Nullable en cálculos es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.
Operadores levantados
C# «eleva» los operadores aritméticos y de comparación para que funcionen con tipos anulables. Los operadores como + obtienen automáticamente una versión anulable.
using System;
class Program {
static void Main() {
int? a = 5;
int? b = 3;
Console.WriteLine(a + b);
}
}El null se propaga en las operaciones matemáticas
Si algún operando de una expresión aritmética elevada es null, el resultado es null.
using System;
class Program {
static void Main() {
int? a = 5;
int? b = null;
int? sum = a + b;
Console.WriteLine(sum.HasValue);
}
}Impresión de resultados null
Un resultado aritmético null se imprime como una cadena vacía, de acuerdo con la forma en que se muestran los valores anulables.
using System;
class Program {
static void Main() {
int? a = null;
Console.WriteLine("Result: [" + (a * 2) + "]");
}
}Mezcla de tipos anulables y no anulables
Puede combinar int y int? en operaciones matemáticas; el int se promueve a anulable y el resultado también es anulable.
using System;
class Program {
static void Main() {
int? a = 10;
int b = 4;
int? result = a - b;
Console.WriteLine(result);
}
}Comparaciones elevadas
Las comparaciones de valores anulables también se elevan. Si alguno de los lados es null, las comparaciones de orden como < devuelven false.
using System;
class Program {
static void Main() {
int? a = null;
int? b = 5;
Console.WriteLine(a < b);
Console.WriteLine(a > b);
}
}Igualdad con null
A diferencia del orden, la igualdad está definida: dos valores null son iguales, y null no es igual a ningún número.
using System;
class Program {
static void Main() {
int? a = null;
int? b = null;
Console.WriteLine(a == b);
Console.WriteLine(a == 0);
}
}Combinar ?? con operaciones matemáticas
Use ?? para reemplazar null por un número seguro antes de realizar el cálculo y mantener el resultado como no anulable.
using System;
class Program {
static void Main() {
int? a = null;
int total = (a ?? 0) + 100;
Console.WriteLine(total);
}
}Protección de la división
Combine comprobaciones de HasValue con cálculos para evitar tanto los valores null como la división entre cero.
using System;
class Program {
static void Main() {
int? a = 20, b = 4;
if (a.HasValue && b.HasValue && b.Value != 0)
Console.WriteLine(a.Value / b.Value);
}
}Suma de datos anulables
Al sumar datos que pueden contener valores null, decida si desea omitirlos o tratarlos como cero.
using System;
class Program {
static void Main() {
int?[] data = { 5, null, 10, null, 2 };
int total = 0;
foreach (var x in data)
total += x ?? 0;
Console.WriteLine(total);
}
}Bool anulable en la lógica
Un bool? participa en la lógica elevada: true | null es true, false & null es false y, en los demás casos, el resultado es null.
using System;
class Program {
static void Main() {
bool? a = null;
bool? b = true;
Console.WriteLine(a | b);
}
}Conversión del resultado a un valor simple
Después de un cálculo anulable, use ?? o GetValueOrDefault para obtener un valor simple que pueda mostrar.
using System;
class Program {
static void Main() {
int? a = 6, b = 7;
int product = (a * b) ?? 0;
Console.WriteLine(product);
}
}Comprobación rápida
Compruebe sus conocimientos sobre aritmética con valores anulables.
Resumen
C# eleva los operadores aritméticos, de comparación y lógicos para los tipos anulables. Cualquier operando null en una operación aritmética produce un resultado null, y las comparaciones de orden con null devuelven false, mientras que la igualdad está bien definida.
Use ?? o GetValueOrDefault para sustituir valores seguros antes o después de los cálculos, y use HasValue como protección cuando sea necesario.
Aprende C# con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 93
- Lecciones
- 346
Preguntas frecuentes
¿La lección «Nullable en cálculos» es gratis?
Sí — el texto completo de «Nullable en cálculos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Nullable en cálculos»?
Comprenda cómo se propagan los valores nulos en las operaciones aritméticas. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Nullable en cálculos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a los tipos de valor anulables
- Propiedades HasValue y Value
- Operadores de fusión de nulos
- Nullable en cálculos