Tipo de datos definido por el usuario
Contiene los datos en el formato que defina el usuario. La instrucción Structure define el formato.
Las versiones anteriores de Visual Basic admitían el tipo definido por el usuario (UDT). La versión actual amplía el tipo definido por el usuario a una estructura. Una estructura es una concatenación de uno o varios miembros de diversos tipos de datos. Visual Basic trata una estructura como una unidad única, aunque también puede tener acceso individualmente a sus miembros.
Comentarios
Defina y utilice un tipo de datos de estructura cuando necesite combinar varios tipos de datos en una única unidad o cuando ninguno de los tipos de datos básicos satisfaga sus necesidades.
El valor predeterminado de un tipo de datos de estructura se compone de la combinación de valores predeterminados de cada uno de sus miembros.
Formato de declaración
Una declaración de estructura se inicia con la instrucción Structure (Instrucción) y finaliza con la instrucción End Structure. La instrucción Structure proporciona el nombre de la estructura, que también actúa como identificador del tipo de datos que está definiendo la estructura. Otras partes del código pueden utilizar este identificador para declarar variables, parámetros y valores devueltos de la función para que pertenezca al tipo de datos de esta estructura.
Las declaraciones comprendidas entre las instrucciones Structure y EndStructure definen los miembros de la estructura.
Niveles de acceso a miembros
Debe declarar cada miembro utilizando una instrucción Instrucción Dim (Visual Basic) o una instrucción que especifique el nivel de acceso, como Public (Visual Basic), Friend (Visual Basic) o Private (Visual Basic). Si utiliza una instrucción Dim, el nivel de acceso es público de manera predeterminada.
Sugerencias de programación
Consumo de memoria. Como en los demás tipos de datos compuestos, no puede calcularse de forma precisa el consumo total de memoria de una estructura sumando las asignaciones de almacenamiento nominal de sus miembros. Es más, no puede suponerse que el orden de almacenamiento en la memoria sea el mismo que el orden de la declaración. Si necesita controlar el diseño de almacenamiento de una estructura, puede aplicar el atributo StructLayoutAttribute a la instrucción Structure.
Consideraciones de interoperabilidad. Si está interactuando con componentes que no se han escrito para .NET Framework, por ejemplo objetos de automatización u objetos COM, tenga presente que los tipos de datos definidos por el usuario en otros entornos no son compatibles con los tipos de estructuras de Visual Basic.
Ampliación. No existen conversiones automáticas a un tipo de datos de estructuras o desde un tipo de datos de estructuras. Puede definir operadores de conversión en la estructura utilizando Operator (Instrucción) y puede declarar cada operador de conversión para que sea Widening o Narrowing.
Caracteres de tipo. Los tipos de datos de estructura no tienen ningún carácter de tipo literal ni ningún carácter de tipo identificador.
Tipo en Framework. No hay ningún tipo correspondiente en .NET Framework. Todas las estructuras se heredan de la clase de .NET Framework ValueType, pero ninguna estructura individual se corresponde con ValueType.
Ejemplo
En el siguiente modelo se muestra el esquema de 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
Vea también
Referencia
Resumen de tipos de datos (Visual Basic)
Funciones de conversión de tipos (Visual Basic)
Resumen de conversión (Visual Basic)
Conceptos
Uso eficiente de tipos de datos (Visual Basic)