DEV Community

Juarez Júnior
Juarez Júnior

Posted on • Updated on

Dica C#: Record Types usando With

Vamos falar sobre como os Record Types no C# 10, combinados com as expressões with, facilitam a criação de cópias de objetos imutáveis com modificações específicas. Veja o exemplo no código abaixo.

public record Produto(string Nome, decimal Preco);

public class Program
{
    public static void Main()
    {
        // Criando um record Produto
        var produto1 = new Produto("Caneta", 2.99m);

        // Criando uma cópia do record com o preço alterado
        var produto2 = produto1 with { Preco = 3.49m };

        Console.WriteLine(produto1); // Saída: Produto { Nome = Caneta, Preco = 2.99 }
        Console.WriteLine(produto2); // Saída: Produto { Nome = Caneta, Preco = 3.49 }
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação:
Os Record Types permitem criar objetos imutáveis de forma simples e direta. Quando você precisa criar uma cópia de um objeto, mas deseja modificar alguns de seus valores, as expressões with são a solução perfeita. Elas permitem criar uma nova instância do objeto com as alterações desejadas, mantendo as outras propriedades intactas. No exemplo acima, criamos uma cópia de um record alterando apenas um de seus campos, demonstrando como essa funcionalidade é prática e poderosa.

Código fonte: GitHub

Espero que essa dica ajude você a utilizar os Record Types e expressões with de maneira eficiente em seus projetos! Até a próxima.

Top comments (0)