Tipo de dados definido pelo usuário
Contém dados em um formato definido por você. A Structure
instrução define o formato.
Versões anteriores do Visual Basic suportam o tipo definido pelo usuário (UDT). A versão atual expande a UDT para uma estrutura. Uma estrutura é uma concatenação de um ou mais membros de vários tipos de dados. Visual Basic trata uma estrutura como uma única unidade, embora você também pode acessar seus membros individualmente.
Observações
Defina e use um tipo de dados de estrutura quando precisar combinar vários tipos de dados em uma única unidade ou quando nenhum dos tipos de dados elementares atender às suas necessidades.
O valor padrão de um tipo de dados de estrutura consiste na combinação dos valores padrão de cada um de seus membros.
Formato da declaração
Uma declaração de estrutura começa com a Declaração de Estrutura e termina com a End Structure
instrução. A Structure
instrução fornece o nome da estrutura, que também é o identificador do tipo de dados que a estrutura está definindo. Outras partes do código podem usar esse identificador para declarar variáveis, parâmetros e valores de retorno de função como sendo do tipo de dados dessa estrutura.
As declarações entre as Structure
declarações e End Structure
definem os membros da estrutura.
Níveis de Acesso de Membros
Você deve declarar cada membro usando uma Declaração Dim ou uma instrução que especifique o nível de acesso, como Público, Amigo ou Privado. Se você usar uma Dim
instrução, o padrão de nível de acesso será público.
Dicas de programação
Consumo de memória. Como acontece com todos os tipos de dados compostos, não é possível calcular com segurança o consumo total de memória de uma estrutura somando as alocações nominais de armazenamento de seus membros. Além disso, você não pode assumir com segurança que a ordem de armazenamento na memória é a mesma que a sua ordem de declaração. Se precisar controlar o layout de armazenamento de uma estrutura, você pode aplicar o StructLayoutAttribute atributo à
Structure
instrução.Considerações de interoperabilidade. Se você estiver fazendo interface com componentes não escritos para o .NET Framework, por exemplo, automação ou objetos COM, lembre-se de que os tipos definidos pelo usuário em outros ambientes não são compatíveis com tipos de estrutura do Visual Basic.
Alargamento. Não há conversão automática de ou para qualquer tipo de dados de estrutura. Você pode definir operadores de conversão em sua estrutura usando a Declaração de Operador e pode declarar cada operador de conversão como sendo
Widening
ouNarrowing
.Digite caracteres. Os tipos de dados de estrutura não têm caractere de tipo literal ou caractere de tipo de identificador.
Tipo de estrutura. Não há nenhum tipo correspondente no .NET Framework. Todas as estruturas herdam da classe System.ValueType.NET Framework , mas nenhuma estrutura individual corresponde a System.ValueType.
Exemplo
O paradigma a seguir mostra o esboço da declaração de uma estrutura.
[Public | Protected | Friend | Protected Friend | Private] Structure structname
{Dim | Public | Friend | Private} member1 As datatype1
' ...
{Dim | Public | Friend | Private} memberN As datatypeN
End Structure