Compartilhar via


tipo de dados User-Defined

Contém dados em um formato que você define. A Structure instrução define o formato.

As versões anteriores do Visual Basic dão suporte ao UDT (tipo definido pelo usuário). A versão atual expande o UDT para uma estrutura. Uma estrutura é uma concatenação de um ou mais membros de vários tipos de dados. O Visual Basic trata uma estrutura como uma única unidade, embora você também possa 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 de declaração

Uma declaração de estrutura começa com a Instrução Structure e termina com a instrução End Structure . 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 para serem do tipo de dados dessa estrutura.

As declarações entre as instruções e End Structure as Structure instruções definem os membros da estrutura.

Níveis de acesso de membro

Você deve declarar cada membro usando uma Instrução Dim ou uma instrução que especifique o nível de acesso, como Pública, Amiga ou Privada. Se você usar uma Dim instrução, o nível de acesso será padrão para público.

Dicas de programação

  • Consumo de memória. Assim como acontece com todos os tipos de dados compostos, você não pode calcular com segurança o consumo total de memória de uma estrutura adicionando as alocações de armazenamento nominal 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 sua ordem de declaração. Se você precisar controlar o layout de armazenamento de uma estrutura, poderá aplicar o StructLayoutAttribute atributo à instrução Structure .

  • Considerações de interoperabilidade. Se você estiver interfigurando com componentes não gravados para o .NET Framework, por exemplo, automação ou objetos COM, tenha em mente 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 Instrução operator e declarar cada operador de conversão como ou WideningNarrowing.

  • 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 contorno 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

Consulte também