C# · Intermediário · Inglês · Técnico
record struct
Struct declarada como record struct, que ganha igualdade por valor, ToString e with; a forma posicional é mutável, e readonly record struct é imutável.
Onde usar
Bom para pequenos value objects em código quente, como coordenadas, com igualdade por valor sem alocar no heap. Em code review, prefira readonly record struct para evitar mutação acidental.
Em código
var a = new Coord(1, 2);
var b = a with { X = 5 };
Console.WriteLine(a.X + " " + b.X); // 1 5
readonly record struct Coord(int X, int Y);Exemplos
Use a readonly record struct for this small value object.
Use um readonly record struct para esse value object pequeno.
A record struct avoids a heap allocation.
Um record struct evita uma alocação no heap.
Cuidado
Não confunda com record class: aqui a variável guarda o valor, então as cópias são independentes e o default tem todos os campos zerados.
Antônimos
record class