Compartir a través de


Tipo de datos User-Defined

Contiene datos en un formato que defina. La Structure instrucción define el formato.

Las versiones anteriores de Visual Basic admiten el tipo definido por el usuario (UDT). La versión actual expande el UDT a una estructura. Una estructura es una concatenación de uno o varios miembros de varios tipos de datos. Visual Basic trata una estructura como una sola unidad, aunque también puede acceder a sus miembros individualmente.

Observaciones

Defina y use un tipo de datos de estructura cuando necesite combinar varios tipos de datos en una sola unidad o cuando ninguno de los tipos de datos elementales atiende sus necesidades.

El valor predeterminado de un tipo de datos de estructura consta de la combinación de los valores predeterminados de cada uno de sus miembros.

Formato de declaración

Una declaración de estructura comienza con la instrucción Structure y termina con la End Structure instrucción . La Structure instrucción proporciona el nombre de la estructura, que también es el identificador del tipo de datos que define la estructura. Otras partes del código pueden usar este identificador para declarar variables, parámetros y valores devueltos de función para que sean del tipo de datos de esta estructura.

Las declaraciones entre las Structure instrucciones y End Structure definen los miembros de la estructura.

Niveles de acceso de miembros

Debe declarar todos los miembros mediante una instrucción Dim o una instrucción que especifique el nivel de acceso, como Público, Amigo o Privado. Si usa una Dim instrucción , el nivel de acceso tiene como valor predeterminado público.

Sugerencias de programación

  • Consumo de memoria. Al igual que con todos los tipos de datos compuestos, no se puede calcular de forma segura el consumo total de memoria de una estructura agregando las asignaciones de almacenamiento nominal de sus miembros. Además, no puede suponer de forma segura que el orden de almacenamiento en memoria es el mismo que el orden de declaración. Si necesita controlar el diseño de almacenamiento de una estructura, puede aplicar el StructLayoutAttribute atributo a la Structure instrucción .

  • Consideraciones de interoperabilidad. Si está interconectando con componentes no escritos para .NET Framework, por ejemplo, automatización o objetos COM, tenga en cuenta que los tipos definidos por el usuario en otros entornos no son compatibles con los tipos de estructura de Visual Basic.

  • Ampliación. No hay ninguna conversión automática a ni desde ningún tipo de datos de estructura. Puede definir operadores de conversión en la estructura mediante la instrucción Operator y puede declarar cada operador de conversión como Widening o Narrowing.

  • Escriba caracteres. Los tipos de datos de estructura no tienen ningún carácter de tipo literal ni carácter de tipo de identificador.

  • Tipo de marco. No hay ningún tipo correspondiente en .NET Framework. Todas las estructuras heredan de la clase System.ValueTypede .NET Framework, pero ninguna estructura individual corresponde a System.ValueType.

Ejemplo

El siguiente paradigma muestra el esquema de la declaración de una estructura.

[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 también