Inicio > Cursos > C# > Operadores y Expresiones
C#Fundamentos de C#Lección 3 de 20

Operadores y Expresiones

C# tiene los operadores estándar que conoces de otros lenguajes (suma, resta, comparación, lógicos), pero añade operadores específicos que hacen el código más seguro y conciso. El operador null-coalescing (??) retorna el operando derecho cuando el izquierdo es null: nombre ?? "Anónimo" es mucho más limpio que el ternario nombre != null ? nombre : "Anónimo".

El operador ??= asigna solo si la variable es null: nombre ??= "Default" equivale a if (nombre == null) nombre = "Default".

El operador null-conditional (?.) es el más valioso para evitar NullReferenceException: persona?.Nombre llama Nombre solo si persona no es null; si es null, devuelve null en lugar de lanzar excepción. Puedes encadenar: persona?.Direccion?.Ciudad?.ToUpper() devuelve null en cualquier punto de la cadena donde algo sea null. Combinados, ?? y ?. permiten escribir código defensivo muy legible: var ciudad = persona?.Direccion?.Ciudad ?? "Sin ciudad".

// Aritméticos
int a = 10, b = 3;
Console.WriteLine(a + b);   // 13
Console.WriteLine(a - b);   // 7
Console.WriteLine(a * b);   // 30
Console.WriteLine(a / b);   // 3 (división entera)
Console.WriteLine(a % b);   // 1 (módulo/resto)
Console.WriteLine(10.0 / 3); // 3.333... (con double)

// Comparación
bool igual = (a == b);    // false
bool mayor = (a > b);     // true
bool diferente = (a != b); // true

// Lógicos
bool y = true && false;  // false (AND)
bool o = true || false;  // true (OR)
bool no = !true;         // false (NOT)

// Incremento/decremento
int x = 5;
x++;  // x = 6
x--;  // x = 5
int y = ++x; // y = 6, x = 6 (pre-incremento)
int z = x++; // z = 6, x = 7 (post-incremento)

// Operadores de C# (únicos)
string? nombre = null;
string resultado = nombre ?? "Anónimo"; // Null-coalescing
nombre ??= "Default";                   // Asigna si null
int? longitud = nombre?.Length;          // Null-conditional
Consejo✨ El operador ?? evita NullReferenceException. Es mucho más limpio que escribir: nombre != null ? nombre : "Anónimo"
← Variables y Tipos de DatosStrings y Manipulación de Texto →

Practica esta lección

Resuelve los ejercicios del curso de C# en la app, gratis y con corrección automática.

Empezar a practicar