Hoje, vamos explorar uma funcionalidade do C# 10: Record Structs. Essa novidade permite criar structs imutáveis com a simplicidade dos record types, mas com as características de valor dos structs. Veja o exemplo no código abaixo.
public readonly record struct Ponto(int X, int Y);
public class Program
{
public static void Main()
{
Ponto ponto1 = new(10, 20);
Ponto ponto2 = new(10, 20);
Console.WriteLine(ponto1 == ponto2); // Saída: True
}
}
Explicação: Os Record Structs combinam a eficiência dos structs com as conveniências dos record types, como igualdade por valor e a sintaxe concisa. Eles são ideais para representar tipos de dados leves e imutáveis, que devem ser passados por valor.
Neste exemplo, criamos um record struct chamado Ponto. Como os record structs utilizam a igualdade por valor, ponto1 e ponto2 são considerados iguais, mesmo sendo instâncias diferentes, porque os valores de X e Y são iguais. Isso torna os record structs uma ótima escolha para tipos de dados imutáveis e eficientes.
Código fonte: GitHub
Espero que essa dica ajude você a utilizar os Record Structs de forma eficaz em seus projetos! Até a próxima.
Top comments (0)