¿Se puede trabajar en Visual basic con arreglos dinámicos?

Respuesta de
a
Usuario
Hola sabes, quiero saber si en Visual Basic se puede trabajar con arreglos dinámico, me explico, debo ocupar un arreglo que me guarde valores, pero en tiempo de ejecución se debe definir su largo, puesto que este largo se obtendrá de una consulta a la base de datos y la primera ves el largo del arreglo puede ser 4 la segunda 5 ...
Etc si supiera el largo más largo lo defino de ese largo pero no es deducible
si sabes como solucionar este problema de lo agradecería un montón
Soledad
Avatar
Experto
Primero tienes que declarar el arreglo (sin especificar el tamaño):

'este arreglo guardara datos del tipo integer.

Dim arreglo() As Integer

'si queres guardar arreglos de cualquier tipo declaralo asi:

Dim arreglo() As Variant

'si queres modificar el tamaño del aregglo hacelo asi

ReDim arreglo(1 To 1)

'en este ejemplo el arreglo tiene un unico elemento, y empieza en 1.

ReDim arreglo(0 To 2)

'en este ejemplo el arreglo tiene 3 elementos y empieza en 0.

'en los ejemplos anteriores, si tenias algun valor almacenado en el arreglo, te los ponian en cero (eliminaba).

'si queres modificar el tamaño del arreglo, preservando los valores almacenados en el mismo hace lo sig.

ReDim Preserve arreglo(1 To 3)

'en el siguiente ejemplo se le agrega 1 al tamaño del arreglo.

ReDim Preserve arreglo(1 To UBound(arreglo) + 1)

'por ultimo para agregar un valor a un arreglo se hace de la siguiente forma:

arreglo(posicion) = valor

'por ejemplo, si se quiere agregar al final se hace asi:

arreglo(UBound(arreglo)) = valor

'pero si se quiere agregar al inicio se hace asi:

arreglo(1)=valor

'si el arreglo fue declarado como Dim arreglo(1 to 3) as integer, pero si fue declarado como Dim arreglo(4 to 5) as integer se hace asi:

arreglo(4)=valor

Espero que te sirva de ayuda. No te olvides de ponerle puntaje a la respuesta.