Ejercicios de C#

Actualizar un pedido inmutable con un record en C#

En esta lección vas a usar un record y la expresión with para crear una versión nueva de un pedido sin modificar el original.

Introducción

Los datos inmutables (immutable) ya no cambian una vez creados. En lugar de modificarlos directamente, se crea una copia con los cambios necesarios. Así se evitan errores difíciles de detectar cuando varias partes del programa comparten el mismo objeto.

La expresión pending with { Status = "Shipped" } crea un pedido nuevo con el mismo Id pero con el estado Shipped. El pedido pending original sigue con el estado Pending, por eso el resultado mostrado es Pending -> Shipped.

Ejemplo de C# ejecutable

C#
Ejecutar código →
Program.cs
using System;
record Order(int Id, string Status);
class Program
{
    static void Main()
    {
        var pending = new Order(7, "Pending");
        var shipped = pending with { Status = "Shipped" };
        Console.WriteLine($"{pending.Status} -> {shipped.Status}");
    }
}
Resultado de la ejecución
Pending -> Shipped

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.