Manejar números, precios y cantidades en C# requiere comprender los tipos de datos y cómo convertir de forma segura las entradas de usuario. Cuando todo lo que llega del teclado es texto, la conversión correcta marca la diferencia entre un programa robusto y uno que falla al primer dato inesperado.
¿Cuáles son los tipos de datos fundamentales en C#?
En C# cada variable necesita un tipo definido que determine qué clase de información puede almacenar. Los más utilizados son:
- int: números enteros como cantidades o conteos.
- decimal: valores monetarios o cifras que requieren precisión con decimales.
- string: cadenas de texto.
- bool: valores lógicos, verdadero o falso.
Cuando se declara un decimal, es necesario agregar la letra M al final del valor asignado [01:00]. Sin esa letra el compilador interpreta el número como double y marca error. Al incluir la M, el programa compila sin problemas y se garantiza la precisión que exigen operaciones con dinero.
¿Cómo convertir la entrada de usuario con try parse?
Todas las entradas que el usuario escribe en consola llegan como string. Si necesitas operar con números, debes convertir ese texto de manera controlada. La herramienta recomendada es try parse [02:12].
El flujo básico luce así:
- Se solicita un dato con
Console.Write("Ingrese una cantidad:") [01:30].
- Se almacena la entrada en una variable string con
Console.ReadLine().
- Se usa
int.TryParse(entradaCantidad, out int cantidad) dentro de un condicional if [02:12].
La palabra clave out crea la variable y la llena con el resultado de la conversión en un solo paso [03:08]. Si la conversión tiene éxito, try parse devuelve true y puedes usar la variable resultante. Si falla, devuelve false y el programa continúa sin romperse.
¿En qué se diferencia try parse de parse?
La diferencia es crítica para la estabilidad del programa [03:20]:
int.Parse("ABC") lanza una excepción y el programa se detiene.
int.TryParse("ABC", out int resultado) retorna false y el programa sigue ejecutándose.
Regla de oro: siempre usar try parse cuando la entrada proviene del usuario. Nunca debes confiar en que el usuario escriba exactamente lo que esperas.
¿Cómo aplicar la conversión a precios con decimal?
El mismo patrón se repite para valores monetarios. Se solicita el precio con Console.Write, se lee con Console.ReadLine y se convierte con decimal.TryParse(entradaPrecio, out decimal precio) [03:00]. Si la conversión es exitosa se imprime el valor; de lo contrario, se muestra un mensaje de error claro al usuario.
¿Cómo calcular el valor total del inventario en consola?
Con las variables ya convertidas, el cálculo es directo. Se multiplica la cantidad por el precio y se imprime el resultado usando interpolación de cadenas dentro de Console.WriteLine [04:30].
Al ejecutar el programa en consola e ingresar una cantidad de cinco y un precio de veinticinco, el resultado muestra un valor de inventario de ciento veinticinco [04:50]. Este ejemplo práctico demuestra cómo los tipos de datos y la conversión segura trabajan juntos para producir resultados confiables.
Un detalle importante en aplicaciones de consola: se recomienda agregar saltos de línea en los condicionales, ya que la consola no los realiza automáticamente [04:10]. Esto mejora la legibilidad de la salida.
El operador ternario (? :) también aparece como un recurso valioso: funciona como un if else compacto en una sola línea, ideal para asignaciones condicionales rápidas [05:30].
Si ya dominas estas conversiones, el siguiente paso natural es entender la nulabilidad y cómo prevenir los errores de null que pueden aparecer cuando una variable no tiene valor asignado. Comparte en los comentarios qué tipo de dato te ha generado más dudas al trabajar con entradas de usuario.