C# · Intermediário · Inglês · Técnico
struct
Tipo por valor definido com struct, indicado para dados pequenos; é copiado nas atribuições, não herda de classes e tem construtor padrão que zera os campos.
Onde usar
Aparece em escolhas de design e desempenho: struct evita alocações em dados pequenos, mas structs grandes ou mutáveis causam cópias e bugs sutis. Uma regra comum é preferir struct imutável e pequena.
Em código
var l = new List<Ponto> { new() { X = 1 } };
// l[0].X = 9; // erro CS1612
var p = l[0];
p.X = 9; // altera só a cópia
Console.WriteLine(l[0].X); // 1
struct Ponto { public int X, Y; }Exemplos
Keep the struct small and immutable.
Mantenha a struct pequena e imutável.
That struct gets copied every time you pass it.
Essa struct é copiada toda vez que você a passa.
Cuidado
Não altere uma struct dentro de uma lista por indexador, como lista[0].X = 1: o compilador reclama (CS1612), porque você mexeria numa cópia.
Sinônimos
estrutura
Antônimos
class
Origem
Abreviação de structure.