Structs (Guia de Programação em C#)

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 como classes, a maioria, embora a 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 destruidor.

  • 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-se 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.

  • Diferentemente das classes, structs pode ser instanciada sem usar um new 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 structs (Guia de Programação em C#)

Classes (Guia de Programação em C#)

Conceitos

Guia de Programação em C#