Structs (C# Programming Guide)
Structs são definidos usando o struct palavra-chave, por exemplo:
public struct PostalAddress
{
// Fields, properties, methods and events go here...
}
Structs compartilham a mesma sintaxe de classes, a maioria, embora o structs são mais limitados que classes:
No prazo de uma declaração struct, campos não podem ser inicializados menos que elas são declaradas como const ou static.
Uma struct não pode declarar um construtor padrão (um construtor sem parâmetros) ou um destructor.
Structs são copiados na atribuição. Quando uma estrutura é atribuída a uma nova variável, todos os dados são copiados e qualquer modificação na nova cópia, não é refletida na estrutura original. Isso é importante lembrar ao trabalhar com coleções de tipos de valor, como um Dictionary < string, myStruct >.
As estruturas são do tipo valor e classes são do tipo referência.
Ao contrário de classes, structuras podem ser instanciadas sem usar um novo operador.
Structs pode declarar construtores com parâmetros.
Uma estrutura não pode herdar uma outra estrutura ou classe, e tambem não pode ser base de uma classe. Structs herdar diretamente de System.ValueType, que herda de System.Object.
Uma estrutura pode implementar interfaces.
Uma structura pode ser usada como um tipo anulável e pode ser atribuída um valor nulo.
Seções relacionadas
Para obter mais informações:
Consulte também
Referência
Classes e estruturas (guia de programação de C#)
Classes (C# Programming Guide)