Sunteți pe pagina 1din 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 ,
enteros

20 )

Como

Entero

'una matriz bidimensional de

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 ()
Dim names ()
"Shivangi" ,

As
As

Integer
String

"Ashwitha" ,

Dim miscData ()

As

Object

{ 12 ,

16 ,

{ "Karthik" ,

20 ,

24 ,

28 ,

32 }

"Sandhya" , _

"Somnath" }
=

{ "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

Dim i , j Como

entero

'n es una matriz de 11 enteros'

Entero

'inicializar los elementos de matriz n'


Para i =

n ( i )

10

= i +

100

' conjunto de elementos en la localizacin i para

i + 100
Siguiente i
' salida del elemento cada matriz value 's'
Para j =

10

Console . WriteLine ( "Elemento ({0}) = {1}" , j , n ( j ))


Siguiente j
Console . ReadKey ()
End
End

Sub

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 redimensionadas 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

To

10

For i =

Console . WriteLine ( i & vbTab & marks ( i ))


Next i
Console . ReadKey ()
End
End

Sub

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 =

para j =

a
0

4
a

Console . WriteLine ( "a [{0}, {1}] = {2}" , i , j , a ( i , j ))


Siguiente j
Siguiente i
Console . ReadKey ()
End
End

Sub

Mdulo

Cuando se compila el cdigo anterior y ejecutado, se produce el siguiente


resultado:
un
un
un
un
un
un
un
un

[0,0]:
[0,1]:
[1,0]:
[1,1]:
[2,0]:
[2,1]:
[3,0]:
[3,1]:

0
0
1
2
2
4
3
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:

S
N

Nombre de la propiedad y Descripcin

IsFixedSize
Obtiene un valor que indica si la matriz tiene un tamao fijo.

IsReadOnly
Obtiene un valor que indica de slo lectura si la matriz est.

Length
Obtiene un entero de 32 bits que representa el nmero total de elementos de todas las
dimensiones de la matriz.

LongLength
Obtiene un entero de 64 bits que representa el nmero total de elementos de todas las
dimensiones de la matriz.

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:

S
N

Nombre de mtodo y Descripcin

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.

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.

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.

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.

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.

Funcin Pblica GetLowerBound (dimensin As Integer) As Integer


Obtiene el lmite inferior de la dimensin especificada de Array.

Funcin Pblica como tipo GetType


Obtiene el objeto Type de la instancia actual (Se hereda de Object).

Funcin Pblica GetUpperBound (dimensin As Integer) As Integer


Obtiene el lmite superior de la dimensin especificada de Array.

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 ()

Dim temp As

Integer ()

= list

Dim i As

{ 34 ,

72 ,

13 ,

44 ,

25 ,

30 ,

10 }

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
End

Sub

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

S-ar putea să vă placă și