Exercícios de C#

Atualizar pedidos imutáveis com records em C#

Nesta lição, você vai usar records e a expressão with para criar uma nova versão de um pedido sem alterar o original.

Introdução

Dados imutáveis (immutable) são dados que não mudam depois de criados. Em vez de alterá-los diretamente, você cria uma cópia com as mudanças necessárias. Isso evita erros difíceis de encontrar quando várias partes do programa compartilham o mesmo objeto.

A expressão pending with { Status = "Shipped" } cria um novo pedido com o mesmo Id, mas com status Shipped. O pedido pending original continua com status Pending, por isso o resultado impresso é Pending -> Shipped.

Exemplo de C# executável

C#
Rodar 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 da execução
Pending -> Shipped

Pratique com o depurador

Coloque um breakpoint em uma atribuição ou condição importante, clique em Debug e veja os valores das variáveis locais antes de passar para a próxima linha.