Está en la página 1de 10

VB.

NET - ARRAYS

Una matriz almacena una coleccin de tamao fijo secuencial de elementos del
mismo tipo. Una matriz se utiliza para almacenar una coleccin de datos, pero a
menudo es ms til pensar en una matriz como una coleccin de variables del
mismo tipo.
Todos los arreglos consisten en posiciones de memoria contiguas. La direccin
ms baja corresponde al primer elemento y la direccin ms alta hasta el ltimo
elemento.

Crear matrices en VB.Net
Para declarar una matriz en VB.Net, utiliza la instruccin Dim. Por ejemplo,
Dim intData ( 30 ) "un conjunto de 31 elementos
Dim strData (20) As String ' un conjunto de 21 cuerdas
Dim twoDArray ( 10 , 20 ) Como Entero 'una matriz bidimensional de
enteros
Rangos Dim (10, 100) ' una matriz bidimensional
Tambin puede inicializar los elementos de la matriz, mientras que la que se
declara la matriz. Por ejemplo,
Dim intData () As Integer = { 12 , 16 , 20 , 24 , 28 , 32 }
Dim names () As String = { "Karthik" , "Sandhya" , _
"Shivangi" , "Ashwitha" , "Somnath" }
Dim miscData () As Object = { "Hello Mundo " , 12d , 16ui , "A" c }
Los elementos de una matriz se pueden almacenar y acceder mediante el ndice
de la matriz. El programa siguiente muestra esto:
Mdulo arrayApl
Sub Principal ()
Dim n ( 10 ) Como se entero 'n es una matriz de 11 enteros'
Dim i , j Como Entero
'inicializar los elementos de matriz n'
Para i = 0 a 10
n ( i ) = i + 100 ' conjunto de elementos en la localizacin i para
i + 100
Siguiente i
' salida del elemento cada matriz value 's'
Para j = 0 a 10
Console . WriteLine ( "Elemento ({0}) = {1}" , j , n ( j ))
Siguiente j
Console . ReadKey ()
End Sub
End Mdulo
Cuando se compila el cdigo anterior y ejecutado, se produce el siguiente
resultado:
Element (0) = 100
Elemento (1) = 101
Elemento (2) = 102
Elemento (3) = 103
Elemento (4) = 104
Elemento (5) = 105
Elemento (6) = 106
Element (7) = 107
Elemento (8) = 108
Elemento (9) = 109
Elemento (10) = 110
Arrays dinmicos
Las matrices dinmicas son matrices que pueden ser dimensionadas y de re-
dimensionadas como la par la necesidad del programa. Puede declarar una matriz
dinmica utilizando el ReDim comunicado.
Sintaxis de la instruccin ReDim:
ReDim [ Mantener ] nombrematriz ( subndices )
Cuando,
El coto de palabras clave ayuda a conservar los datos en una matriz
existente, al cambiar su tamao.
ArrayName es el nombre de la matriz para volver a dimensin.
subndices especifica la nueva dimensin.
Module arrayApl
Sub Main ()
Dim marks () As Integer
ReDim marks ( 2 )
marks ( 0 ) = 85
marks ( 1 ) = 75
marks ( 2 ) = 90
ReDim Preserve marks ( 10 )
marks ( 3 ) = 80
marks ( 4 ) = 76
marks ( 5 ) = 92
marks ( 6 ) = 99
marks ( 7 ) = 79
marks ( 8 ) = 75
For i = 0 To 10
Console . WriteLine ( i & vbTab & marks ( i ))
Next i
Console . ReadKey ()
End Sub
End Module
Cuando se compila el cdigo anterior y ejecutado, se produce el siguiente
resultado:
0 85
1 75
2 90
3 80
4 76
5 92
6 99
7 79
8 75
9 0
10 0
Arrays multidimensionales
VB.Net permite matrices multidimensionales. Las matrices multidimensionales
son tambin llamados arrays rectangulares.
Puede declarar una matriz de 2 dimensiones de cadenas como:
Dim twoDStringArray ( 10 , 20 ) Como Cuerda
o, una matriz de 3 dimensiones de las variables Integer:
Dim threeDIntArray ( 10 , 10 , 10 ) Como Entero
El programa siguiente muestra cmo crear y utilizar una matriz de 2
dimensiones:
Mdulo arrayApl
Sub Principal ()
'un arreglo con 5 filas y 2 columnas
Dim a (,) As Integer = {{0, 0}, {1, 2}, {2, 4}, {3, 6}, {4, 8}}
Dim i, j As Integer
' salida de cada elemento de la matriz 'valor s'
Para i = 0 a 4
para j = 0 a 1
Console . WriteLine ( "a [{0}, {1}] = {2}" , i , j , a ( i , j ))
Siguiente j
Siguiente i
Console . ReadKey ()
End Sub
End Mdulo
Cuando se compila el cdigo anterior y ejecutado, se produce el siguiente
resultado:
un [0,0]: 0
un [0,1]: 0
un [1,0]: 1
un [1,1]: 2
un [2,0]: 2
un [2,1]: 4
un [3,0]: 3
un [3,1]: 6
un [4,0]: 4
un [4,1]: 8
Matriz escalonada
Una matriz escalonada es una matriz de matrices. El cdigo follwoing muestra
declarar una matriz escalonada llamada puntajes de enteros:
Dim puntajes Como Entero () () = Nueva entero ( 5 ) () {}
El siguiente ejemplo ilustra el uso de una matriz escalonada:
Mdulo arrayApl
Sub Principal ()
'una matriz escalonada de 5 matriz de enteros
Dim a As Integer () () = new Integer (4) () {}
a (0) = new Integer () {0, 0}
un (1) = new Integer () {1, 2}
un (2) = new Integer () {2, 4}
una (3) = new Integer () {3, 6}
a (4) = new Integer () {4, 8}
Dim i, j As Integer
' salida del elemento cada matriz value 's
Para i = 0 a 4
Para j = 0 a 1
Console.WriteLine ("a [{0}, {1}] = {2}", i, j, a (i) (j))
Siguiente j
Siguiente i
Console.ReadKey ()
End Sub
End Module
Cuando se compila el cdigo anterior y ejecutado, se produce el siguiente
resultado:
un [0] [0]: 0
un [0] [1]: 0
una [1] [0]: 1
una [1] [1]: 2
un [2] [0]: 2
un [2] [1]: 4
un [3] [0]: 3
un [3] [1]: 6
una [4] [0]: 4
una [4] [1]: 8
La clase Array
La clase Array es la clase base para todas las matrices en VB.Net. Se define en el
espacio de nombres System. La clase Array proporciona varios mtodos y
propiedades para trabajar con matrices.
Las propiedades de la clase Array
La siguiente tabla proporciona algunos de los ms comnmente
utilizados propiedades de la matriz de la clase:
SN Nombre de la propiedad y Descripcin
1 IsFixedSize
Obtiene un valor que indica si la matriz tiene un tamao fijo.
2 IsReadOnly
Obtiene un valor que indica de slo lectura si la matriz est.
3 Length
Obtiene un entero de 32 bits que representa el nmero total de elementos de todas las
dimensiones de la matriz.
4 LongLength
Obtiene un entero de 64 bits que representa el nmero total de elementos de todas las
dimensiones de la matriz.
5 Rango
Obtiene el rango (nmero de dimensiones) de Array.
Los mtodos de la clase Array
La siguiente tabla proporciona algunos de los ms comnmente
utilizados mtodos de la matriz de la clase:
SN Nombre de mtodo y Descripcin
1 Public Shared Sub Clear (matriz como matriz, el ndice como nmero entero,
longitud As Integer)
Define una serie de elementos de Array en cero, false o null, dependiendo del tipo de
elemento.
2 Sub pblico Copy (sourceArray como Array, destinationArray Como Array,
longitud As Integer) compartido
Copia un intervalo de elementos de una matriz Array comenzando en el primer elemento
y los pega en otra matriz Array comenzando en el primer elemento. La longitud se
especifica como un entero de 32 bits.
3 Public Sub CopyTo (array como Array, ndice As Integer)
Copia todos los elementos de la actual matriz unidimensional de Array unidimensional
especificado, empezando en el ndice Array de destino. El ndice se especifica como un
entero de 32 bits.
4 Funcin Pblica GetLength (dimensin As Integer) As Integer
Obtiene un entero de 32 bits que representa el nmero de elementos de la dimensin
especificada de Array.
5 Funcin Pblica GetLongLength (dimensin As Integer) As Long
Obtiene un entero de 64 bits que representa el nmero de elementos de la dimensin
especificada de Array.
6 Funcin Pblica GetLowerBound (dimensin As Integer) As Integer
Obtiene el lmite inferior de la dimensin especificada de Array.
7 Funcin Pblica como tipo GetType
Obtiene el objeto Type de la instancia actual (Se hereda de Object).
8 Funcin Pblica GetUpperBound (dimensin As Integer) As Integer
Obtiene el lmite superior de la dimensin especificada de Array.
9 Funcin Pblica GetValue (index As Integer) As Object
Obtiene el valor de la posicin especificada de la matriz Array unidimensional. El ndice
se especifica como un entero de 32 bits.
10 Pblico IndexOf Shared Function (array Como Array, valor As Object) As Integer
Busca el objeto especificado y devuelve el ndice de la primera aparicin en toda la
matriz Array unidimensional.
11 Public Shared Sub inversa (array Como Array)
Invierte el orden de los elementos en toda la matriz Array unidimensional.
12 Pblico SetValue Sub (valor como objeto, ndice As Integer)
Establece un valor en el elemento en la posicin especificada de la matriz Array
unidimensional.El ndice se especifica como un entero de 32 bits.
13 Public Shared Sub Ordenar (array Como Array)
Ordena los elementos de una matriz unidimensional completo utilizando la
implementacin de IComparable de cada elemento de la matriz.
14 Public Overridable Function ToString As String
Devuelve una cadena que representa el objeto actual (Se hereda de Object).
Para la lista completa de las propiedades y mtodos de la clase Array, consulte la
documentacin de Microsoft.
Ejemplo
El programa siguiente muestra el uso de algunos de los mtodos de la clase
Array:
Module arrayApl
Sub Main ()
Dim list As Integer () = { 34 , 72 , 13 , 44 , 25 , 30 , 10 }
Dim temp As Integer () = list
Dim i As Integer
Console . Write ( "Original Matriz: " )
para cada i En la lista
Console . Write ( "{0}" , i )
Siguiente i
Console . WriteLine ()
'revertir la matriz
Array.Reverse (temp)
Console.Write ("Matriz Invertida:")
Para cada i En temp
Console.Write ("{0}", i)
Siguiente i
Console.WriteLine ()
' ordenar la matriz
matriz . Ordenar ( lista )
de la consola . Escribir ( "arreglo ordenado:" )
para cada i En la lista
de la consola . Escribir ( "{0}" , i )
Siguiente i
Console . WriteLine ()
de la consola . ReadKey ()
End Sub
End Mdulo
Cuando se compila el cdigo anterior y ejecutado, se produce el siguiente
resultado:
Matriz original: 34 72 13 44 25 30 10
Matriz Invertida: 10 30 25 44 13 72 34
Matriz Ordenado: 10 13 25 30 34 44 72

También podría gustarte