Paso 1 de 5
Los productos como record
record Producto(...) define en una línea un tipo con cuatro propiedades de solo lectura. Con decimal (el sufijo m), los precios no tienen los errores de redondeo de double, por eso es el tipo recomendado para dinero.
En la interpolación, {p.Nombre,-18} ocupa 18 caracteres alineado a la izquierda y {p.Precio,9:0.00}, 9 a la derecha con dos decimales: el listado sale en columnas.
var inventario = new List<Producto>
{
new("Teclado", "Informática", 35.00m, 12),
new("Ratón", "Informática", 12.50m, 3),
new("Monitor 24\"", "Informática", 129.90m, 4),
new("Cuaderno", "Papelería", 2.40m, 40),
new("Bolígrafos (10)", "Papelería", 3.95m, 2),
new("Lámpara LED", "Hogar", 19.99m, 7),
};
foreach (var p in inventario)
{
Console.WriteLine($"{p.Nombre,-18}{p.Precio,9:0.00} € ({p.Stock} uds.)");
}
record Producto(string Nombre, string Categoria, decimal Precio, int Stock);
Teclado 35,00 € (12 uds.)
Ratón 12,50 € (3 uds.)
Monitor 24" 129,90 € (4 uds.)
Cuaderno 2,40 € (40 uds.)
Bolígrafos (10) 3,95 € (2 uds.)
Lámpara LED 19,99 € (7 uds.)