certmundo.
es‑mx

6 min de lectura

¿Cómo usar operadores y expresiones en C#?

Los operadores en C# son símbolos que realizan cálculos, comparaciones o evaluaciones lógicas sobre uno o más valores.

En esta lección aprenderás a usar los tres grupos de operadores más importantes: aritméticos, de comparación y lógicos. También verás cómo combinarlos en expresiones prácticas para calcular descuentos, sueldos y condiciones de negocio.

Operadores aritméticos

Un operador aritmético realiza una operación matemática entre dos valores. El resultado es un número.

Operador Significado Ejemplo en código Resultado
+ Suma 10000 + 5000 15000
- Resta 10000 - 3000 7000
* Multiplicación 200 * 3 600
/ División 9000 / 2 4500
% Módulo (residuo) 10 % 3 1

El operador % devuelve el residuo de una división. Se usa, por ejemplo, para saber si un número es par o impar.

Ejemplo 1 — Calcular el sueldo neto en una empresa

Supón que trabajas en FEMSA y recibes un sueldo bruto de $18,500 al mes. El IMSS descuenta $1,200 y el ISR descuenta $950.

decimal sueldoBruto = 18500m;
decimal descuentoIMSS = 1200m;
decimal descuentoISR = 950m;

decimal sueldoNeto = sueldoBruto - descuentoIMSS - descuentoISR;

Console.WriteLine("Sueldo neto: $" + sueldoNeto);

Salida en consola:

Sueldo neto: $16,350

Usamos decimal porque se trata de dinero. Recuerda agregar la m al final de cada valor en el código fuente.

Ejemplo 2 — Calcular el precio con descuento en Liverpool

Liverpool aplica un descuento del 15 % a un artículo que cuesta $3,200.

decimal precioOriginal = 3200m;
decimal porcentajeDescuento = 0.15m;

decimal montoDescuento = precioOriginal * porcentajeDescuento;
decimal precioFinal = precioOriginal - montoDescuento;

Console.WriteLine("Descuento: $" + montoDescuento);
Console.WriteLine("Precio final: $" + precioFinal);

Salida en consola:

Descuento: $480
Precio final: $2,720

Nota que separamos el cálculo en dos pasos. Esto hace el código más fácil de leer y depurar.

Ejemplo 3 — Verificar si una cantidad de productos es par

Un almacén de Bimbo quiere saber si el número de cajas en existencia es par o impar.

int cantidadCajas = 47;
int residuo = cantidadCajas % 2;

Console.WriteLine("Residuo: " + residuo);

Salida en consola:

Residuo: 1

Cuando el residuo es 0, la cantidad es par. Cuando es 1, es impar.

Operadores de comparación

Un operador de comparación compara dos valores y devuelve un resultado de tipo bool: true (verdadero) o false (falso).

Operador Significado Ejemplo Resultado
== Igual a 5 == 5 true
!= Diferente de 5 != 3 true
> Mayor que 10 > 7 true
< Menor que 3 < 1 false
>= Mayor o igual que 5 >= 5 true
<= Menor o igual que 4 <= 6 true

Estos operadores se usan con frecuencia en condiciones if, que verás en la siguiente lección.

Ejemplo 4 — Verificar si un vendedor alcanzó su meta en Mercado Libre

Un vendedor tiene una meta de $25,000 en ventas mensuales. Quieres saber si la alcanzó.

decimal metaVentas = 25000m;
decimal ventasReales = 27300m;

bool metaAlcanzada = ventasReales >= metaVentas;

Console.WriteLine("¿Meta alcanzada? " + metaAlcanzada);

Salida en consola:

¿Meta alcanzada? True

La variable metaAlcanzada guarda el resultado true o false de la comparación.

Operadores lógicos

Un operador lógico combina dos o más condiciones booleanas en una sola expresión.

Operador Significado Resultado
&& Y (AND) true solo si ambas condiciones son true
|| O (OR) true si al menos una condición es true
! NO (NOT) Invierte el valor: true se vuelve false

Ejemplo 5 — Aplicar un descuento con dos condiciones

Una tienda en línea aplica el 20 % de descuento solo si el cliente tiene membresía activa y su compra supera $1,500.

bool tieneMembresía = true;
decimal totalCompra = 1800m;

bool aplicaDescuento = tieneMembresía && (totalCompra > 1500m);

Console.WriteLine("¿Aplica descuento? " + aplicaDescuento);

Salida en consola:

¿Aplica descuento? True

Si cualquiera de las dos condiciones fuera false, la variable aplicaDescuento sería false.

Ejemplo 6 — Verificar elegibilidad para un bono

En una empresa, un empleado recibe bono si tiene más de 2 años de antigüedad o si su calificación de desempeño es mayor a 9.

int añosAntigüedad = 1;
decimal calificacionDesempeño = 9.5m;

bool recibesBono = (añosAntigüedad > 2) || (calificacionDesempeño > 9m);

Console.WriteLine("¿Recibes bono? " + recibesBono);

Salida en consola:

¿Recibes bono? True

Aunque no tiene los 2 años de antigüedad, la calificación alta activa el bono gracias al operador ||.

El orden de las operaciones

C# respeta el orden matemático estándar: primero multiplicación y división, luego suma y resta. Puedes usar paréntesis para forzar un orden diferente.

// Sin paréntesis — resultado incorrecto para un descuento
decimal resultadoMal = 5000m - 500m * 0.10m;  // 5000 - 50 = 4950 (incorrecto)

// Con paréntesis — resultado correcto
decimal resultadoBien = (5000m - 500m) * 0.10m;  // 4500 * 0.10 = 450

Siempre usa paréntesis cuando la expresión tenga más de dos operadores. Esto evita errores difíciles de detectar.

Errores comunes

Error 1 — Usar = en vez de == para comparar

El símbolo = asigna un valor. El símbolo == compara dos valores. Confundirlos provoca errores de compilación o resultados inesperados.

// INCORRECTO
bool esMayor = (precio = 500m);  // Esto asigna, no compara

// CORRECTO
bool esMayor = (precio == 500m);  // Esto compara

Error 2 — Dividir enteros y perder decimales

Cuando divides dos valores de tipo int, C# descarta la parte decimal del resultado.

// INCORRECTO — resultado es 3, no 3.5
int resultado = 7 / 2;

// CORRECTO — usa decimal para conservar los centavos
decimal resultado = 7m / 2m;

Este error es muy frecuente al calcular porcentajes o promedios de ventas.

Error 3 — Olvidar paréntesis en expresiones compuestas

Una expresión como a + b * c no es lo mismo que (a + b) * c. Escribe siempre los paréntesis cuando tengas dudas sobre el orden de evaluación.

Error 4 — Mezclar tipos incompatibles sin conversión

C# no permite sumar un int con un decimal directamente sin convertir el tipo. Usa el sufijo m o una conversión explícita para evitar errores de compilación.

int cantidad = 3;
decimal precioUnitario = 250m;

// CORRECTO — convierte el int a decimal
decimal total = (decimal)cantidad * precioUnitario;

Resumen de operadores

Grupo Operadores principales Tipo de resultado
Aritméticos +, -, *, /, % Número (int, decimal)
Comparación ==, !=, >, <, >=, <= Booleano (bool)
Lógicos &&, ||, ! Booleano (bool)

Conocer estos tres grupos te permite construir cualquier cálculo o condición básica en tus programas.

Puntos clave

  • Los operadores aritméticos (`+`, `-`, `*`, `/`, `%`) realizan cálculos matemáticos. Para dinero en pesos, usa siempre el tipo `decimal` con el sufijo `m`.
  • Los operadores de comparación (`==`, `!=`, `>`, `<`, `>=`, `<=`) devuelven `true` o `false`. Nunca uses `=` para comparar; ese símbolo es solo para asignar valores.
  • Los operadores lógicos (`&&`, `||`, `!`) combinan condiciones booleanas. Úsalos para expresar reglas de negocio como descuentos con múltiples requisitos.
  • Usa paréntesis para controlar el orden de las operaciones. Una expresión sin paréntesis puede dar resultados incorrectos cuando mezcla suma y multiplicación.
  • Al dividir valores de tipo `int`, C# descarta los decimales. Declara tus variables como `decimal` cuando el resultado pueda tener centavos o fracciones.

Comparte esta lección:

¿Cómo usar operadores y expresiones en C#? | C# Básico: Aprende a Programar desde Cero | Certmundo