miércoles, 29 de febrero de 2012

Arrays en Visual Basic

                                                               Declaración de un array
dim a() as integer
y la recomendado 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
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
                                                       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}}}

                                                          matriz de 2 dimensiones
Matriz bidimensionales de 6 x 8 (de 2 dimensiones).
Dim personas (1 to 6, 1 to 8) as string
Si luego quisiera acceder a los datos de la misma basta con referirnos a los subíndices
Por ejemplo:
personas (1, 1) = "Natalia"
personas (2, 1) = "pedro"
personas (1, 7) = "valeria"
personas (1, 8) = "josé"
personas (2, 2) = "carolina"
personas (4, 1) = "raquel"
personas (6, 2) = "eustaquio"
personas (6, 5) = "maria"
personas (6, 8) = "mariana"

El total de índices posibles para almacenar datos o valores en el ejemplo anterior es de 48 datos, ya que si multiplicamos 6 x 8 nos da como total 48 valores posibles para utilizar en la matriz bidimensional.
                                                matriz de 3 dimensiones de 3 x 3 x 3
Dim cubo (1 to 3, 1 to 3, 1 to 3) as integer
para acceder a los datos sería exactamente de la misma manera pero debemos utilizar un índice mas.
Ejemplo:
cubo (1, 1 , 1) = 50
cubo (1, 1 , 2) = 50
cubo (1, 1 , 3) = 50
cubo (1, 2 , 1) = 50
cubo (1, 2 , 2) = 50
cubo (1, 2 , 3) = 50
cubo (1, 3 , 1) = 50
cubo (1, 3 , 2) = 50
cubo (1, 3 , 3) = 50
cubo (2, 1 , 1) = 50
cubo (2, 1 , 2) = 50
cubo (2, 1 , 3) = 50
cubo (2, 2 , 1) = 50
cubo (2, 2 , 2) = 50
cubo (2, 2 , 3) = 50
cubo (2, 3 , 1) = 50
cubo (2, 3 , 2) = 50
cubo (2, 3 , 3) = 50
cubo (3, 1 , 1) = 50
cubo (3, 1 , 2) = 50
cubo (3, 1 , 3) = 50
cubo (3, 2 , 1) = 50
cubo (3, 2 , 2) = 50
cubo (3, 2 , 3) = 50
cubo (3, 3 , 1) = 50
cubo (3, 3 , 2) = 50
cubo (3, 3 , 3) = 50



Ing. Angel España