Los arreglos, también conocidos como vectores o matrices, son una estructura de datos que contiene elementos del mismo tipo, a los cuales se accede mediante un índice. Una matriz es un conjunto de valores, que se denominan elementos, que están relacionados lógicamente entre sí. Mediante el uso de una matriz, puede hacer referencia a estos valores relacionados por el mismo nombre y usar un número denominado índice o subíndice para identificar un elemento individual en función de su posición en la matriz.
Declaración de arreglos
Las matrices se declaran del mismo modo que otras variables, con las instrucciones Dim, Static, Private o Public. Al igual que con el resto de declaración de variables, a menos que especifique un tipo de datos para la matriz, el tipo de datos de los elementos de la matriz declarada será el tipo Variant. La diferencia entre las variables escalares y las variables de matriz es que, normalmente, debe especificar el tamaño de la matriz.
Como podemos apreciar, luego de la cláusula «Dim», especificamos el nombre con el cual se identificará nuestro arreglo, seguido de la dimensión y «As» detallando el tipo de dato que contendrá. Cuando se usa la sintaxis de Visual Basic para definir el tamaño de una matriz, se especifica su índice más alto, no el número total de elementos de la matriz.
Arreglos estáticos frente a dinámicos
Un arreglo estático no puede ser redimensionado, mientras que uno dinámico puede sufrir múltiples redimensionamientos. En el caso de querer declarar una matriz de varias dimensiones:
- En las versiones menos recientes de Visual Basic declararemos inicialmente Dim M() As Integer y posteriormente ReDim M (5, 7).
- En las versiones más recientes de Visual Basic declararemos inicialmente Dim M( , ) As Integer, donde la coma indica que van a existir dos dimensiones que se declararán posteriormente.
Al declarar una matriz dinámica, puede establecer el tamaño de la matriz mientras el código se está ejecutando. Puede usar la instrucción ReDim para declarar una matriz implícitamente en un procedimiento. Por defecto, el uso de ReDim implicará perder todos los datos anteriormente contenidos en la matriz que se redimensiona. Para conservar los datos anteriores, se debe utilizar la instrucción ReDim Preserve.
Lea también: IVA 21% Excel
Consideraciones sobre el redimensionamiento
La limitación de usar Preserve viene dada porque únicamente se nos permite cambiar la última dimensión del array (la situada más a la derecha). Tampoco se permite cambiar el número de dimensiones. Cuando se utiliza Preserve aumentando el número de elementos del array, los nuevos elementos tienen valor cero o nulo y los que existían anteriormente conservan su valor.
Uso de literales de matriz
Con un literal de matriz, se puede rellenar una matriz con un conjunto inicial de valores al mismo tiempo que se crea. Cuando se crea una matriz mediante un literal de matriz, puede proporcionar el tipo de matriz o usar la inferencia de tipo para determinar el tipo de matriz. También se puede crear y rellenar una matriz multidimensional usando literales de matriz anidados.
| Tipo de Arreglo | Característica principal |
|---|---|
| Estático | Tamaño fijo definido en la declaración. |
| Dinámico | Puede cambiar su tamaño con ReDim. |
| Escalonado | Arreglo de arreglos con dimensiones no uniformes. |
Iteración y acceso a elementos
Puede acceder a cada ubicación de una matriz mediante un índice de tipo Integer. Los índices de una matriz oscilan entre 0 y uno menor que el número total de elementos. Normalmente, use For...Next Statement o For Each...Next Statement para recorrer los elementos de una matriz. Cuando no conoce los límites superiores de la matriz, puede llamar al método Array.GetUpperBound para obtener el valor más alto del índice.
Lea también: Guía IVA reducido
Lea también: ¿Cómo localizar tus XML del SAT?
