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 }
}
}
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)