Records e comparação por valor em C#
Nesta lição, você vai usar records para representar dados imutáveis de forma curta e criar cópias modificadas com a expressão with.
Introdução
O record é um tipo pensado para objetos que servem principalmente para guardar dados. Com uma única linha de declaração, ele já vem com construtor, propriedades somente leitura e uma impressão bem formatada. E, principalmente, dois records são considerados iguais quando os valores dentro deles são iguais.
A linha record User(string Name, string Role) cria um tipo com as propriedades Name e Role. A expressão original with { Role = "Lead" } cria uma cópia mudando apenas Role, enquanto original continua com Developer. Ao ser impresso, o record mostra o conteúdo no formato User { Name = Ada, Role = Lead }.
Exemplo de C# executável
using System;
record User(string Name, string Role);
class Program
{
static void Main()
{
var original = new User("Ada", "Developer");
var promoted = original with { Role = "Lead" };
Console.WriteLine(promoted);
}
}
User { Name = Ada, Role = Lead }Pratique com o depurador
Pratique com um desafio
Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.
Todos os desafios