ExpertiDict

C# · Intermediário · Inglês · Técnico

struct

/strʌkt/palavra-chave

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.

Veja também

Todos os termos de C#