Un array no deja de ser otro tipo de variable, en este caso ya no es escalar, pues podemos almacenar más de un valor y accederemos a ellos a través de un índice numérico que empezará en 0.
Podemos almacenar cualquier tipo de elemento en un array.
Declaración de un array
La forma antigua era
dim a() as integer
y la recomendado para las últimas versiones es
dim a as integer()
Cuando sepamos de cuanto va a ser nuestro array, deberemos indicarlo dentro de los paréntesis
dim a(7) as integer
Si nos hubiéramos equivocado y necesitásemos cambiar el tamaño original del array usaríamos redim
redim a(10) -> pone todos sus valores a 0
Asignar valores
Si quisiéramos almacenar un 8 en la cuarta posición de un array, usaríamos
a(3) = 8
Y para acceder simplemente haría referencia a su posición
valor = 7* a(3)
Se pueden hacer operaciones numéricas dentro de los paréntesis, el único requisito es que el resultado sea un entero.
En el momento de inicializar podemos asignar una lista de valores
dim a() as integer = {1,43,5,7,8}
dim a as integer() = {1,43,5,7,8}
Propiedades de los Array
Aunque tienen muchas propiedades, quizá la más usada, por ejemplo para recorrer arrays, sea length.
- Length: longitud del array
Recorrer un array
Para recorrer un array podemos hacer uso de un bucle for de la siguiente manera
for x=0 to a.length-1
console.writeline(a(x))
end for
dim x as Integer
for each x in a
console.writelnine(x)
next
Ordenar arrays
Ordenar un array en Visual Basic .NET es sumamente fácil, sólo tendremos que utilizar el método sort
array.sort(a)
Copiar elementos de un array a otro
Usaremos el método copyto
dim a() as String={"hola","y","demas"}
dim b(a.Length-1) as string
a.copyto(b,0)
A este método se le pasa el array de destino y la posición en la que empieza
Cambiar tamaño, preservando sus elementos
Podemos agrandar los arrays manteniendo todos los elementos ya existentes, para ello podemos hacerlo de la siguiente manera.
redim preserve array(valor)
Arrays multidimensionales
En ellos, se usa más de un índice
array(m.n,...) podemos indicar hasta 32 dimensiones
dim a2(,) as integer
dim a3(,,) as integer
dim a4(3,1,5,2) as integer
Para inicializar un array con valores usamos la siguiente sintaxis
dim c2(,) as integer={ {1,2,3},{4,5,6} }
dim c3(,,) as integer={{{1,2},{3,4},{5,6}}, _
{{7,8},{9,10},{11,12}}, _
{{13,14},{15,16},{17,18}}, _
{{19,20},{21,22},{23,24}}}
Esta matriz de tres dimensiones tendrá una dimensión de 2, otra de 3 y otra de 4 (Se empieza a mirar con las llaves desde dentro hacia fuera)
Saber número de dimensiones de un array
Dentro de una dimensión, veamos hasta que valor llega, para ello usaremos getupperbound(dimension)
console.writeline("dimensiones c3:(?,,)={0},(?,)={1},(,,?={2}",c3.getupperbound(0),c3.getupperbound(1),c3.getupperbound(2))
Recorrer un array multidimensional
Se recorre de la misma manera que un array unidimensional pero con tantos for como dimensiones tenga.
dim i,j,k as integer
for i=0 to c3.getupperbound(0)
for j=0 to c3.getupperbound(1)
for k=0 to c3.getupperbound(2)
console.writeline("el valorde c3({0},{1},{2}) es {3}",i,j,k, c3(i,j,k) )
next
next
next
Redimensionando matrices multidimensionales
Este proceso se hace en tiempo de ejecución por lo que si falla algo no nos daremos cuenta hasta que se esté ejecutando.
redim c3(3,2) -> este error si lo da en tiempo de diseño, pues intentamos meter una dimensión menos
redim c3(2,3,4) -> funciona bien
Por ejemplo, redim preserve c3(3,3,1) daría error en tiempo de ejecución, pues sólo se puede cambiar la dimensión más a la derecha y siempre hacia mayor, ya que queremos preservar los cambios
Podríamos poner la última dimensión a 0, esto sería equivalente a anularla, redim preserve c3(3,2,0)
Eliminar un array de memoria
Utilizaremos el comando erase indicando el array que queremos eliminar.
erase c3
Copiar array multidimensional en otro
Para ello usaremos el método copy a diferencia del otro que era copy
dim a3(,,) as integer
redim a3(c3.getupperbound(0),c3.getupperbound(1),c3.getupperbound(2))
array.copy(c3,a3,c3.length)








muy buenos tus tutoriales E M I L I O,FELICDADES, Muchisimas Gracias
pero no esta como borrar un elemento de un array… T_T