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
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}");
}
}
Pending -> ShippedPratique 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.