Visual Basic Utilizacion de Arreglos
description
Transcript of Visual Basic Utilizacion de Arreglos
VB.NET - ARRAYS
Una matriz almacena una colección de tamaño fijo secuencial de elementos del mismo tipo. Una matriz se utiliza para almacenar una colección de datos, pero a menudo es más útil pensar en una matriz como una colección de variables del mismo tipo.
Todos los arreglos consisten en posiciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la dirección más alta hasta el último elemento.
Crear matrices en VB.Net
Para declarar una matriz en VB.Net, utiliza la instrucción 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
También 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:
Módulo 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 localización 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 Módulo
Cuando se compila el código anterior y ejecutado, se produce el siguiente resultado:
Element (0) = 100Elemento (1) = 101Elemento (2) = 102Elemento (3) = 103Elemento (4) = 104Elemento (5) = 105Elemento (6) = 106Element (7) = 107Elemento (8) = 108Elemento (9) = 109Elemento (10) = 110
Arrays dinámicos
Las matrices dinámicas son matrices que pueden ser dimensionadas y de re-dimensionadas como la par la necesidad del programa. Puede declarar una matriz dinámica utilizando el ReDim comunicado.
Sintaxis de la instrucción ReDim:
ReDim [ Mantener ] nombrematriz ( subíndices )
Cuando,
El coto de palabras clave ayuda a conservar los datos en una matriz existente, al cambiar su tamaño.
ArrayName es el nombre de la matriz para volver a dimensión. subíndices especifica la nueva dimensión.
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 código anterior y ejecutado, se produce el siguiente resultado:
0 851 752 903 804 765 926 997 798 759 010 0
Arrays multidimensionales
VB.Net permite matrices multidimensionales. Las matrices multidimensionales son también 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 cómo crear y utilizar una matriz de 2 dimensiones:
Módulo 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 Módulo
Cuando se compila el código anterior y ejecutado, se produce el siguiente resultado:
un [0,0]: 0un [0,1]: 0un [1,0]: 1un [1,1]: 2un [2,0]: 2un [2,1]: 4un [3,0]: 3un [3,1]: 6un [4,0]: 4un [4,1]: 8
Matriz escalonada
Una matriz escalonada es una matriz de matrices. El código 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:
Módulo 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 código anterior y ejecutado, se produce el siguiente resultado:
un [0] [0]: 0un [0] [1]: 0una [1] [0]: 1una [1] [1]: 2un [2] [0]: 2un [2] [1]: 4un [3] [0]: 3un [3] [1]: 6una [4] [0]: 4una [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 métodos y propiedades para trabajar con matrices.
Las propiedades de la clase Array
La siguiente tabla proporciona algunos de los más comúnmente utilizados propiedades de la matriz de la clase:
SN
Nombre de la propiedad y Descripción
1 IsFixedSizeObtiene un valor que indica si la matriz tiene un tamaño fijo.
2 IsReadOnlyObtiene un valor que indica de sólo lectura si la matriz está.
3 LengthObtiene un entero de 32 bits que representa el número total de elementos de todas las dimensiones de la matriz.
4 LongLengthObtiene un entero de 64 bits que representa el número total de elementos de todas las dimensiones de la matriz.
5 RangoObtiene el rango (número de dimensiones) de Array.
Los métodos de la clase Array
La siguiente tabla proporciona algunos de los más comúnmente utilizados métodos de la matriz de la clase:
SN
Nombre de método y Descripción
1 Public Shared Sub Clear (matriz como matriz, el índice como número entero, longitud As Integer) Define una serie de elementos de Array en cero, false o null, dependiendo del tipo de elemento.
2 Sub público 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 Función Pública GetLength (dimensión As Integer) As Integer Obtiene un entero de 32 bits que representa el número de elementos de la dimensión especificada de Array.
5 Función Pública GetLongLength (dimensión As Integer) As Long Obtiene un entero de 64 bits que representa el número de elementos de la dimensión especificada de Array.
6 Función Pública GetLowerBound (dimensión As Integer) As Integer Obtiene el límite inferior de la dimensión especificada de Array.
7 Función Pública como tipo GetTypeObtiene el objeto Type de la instancia actual (Se hereda de Object).
8 Función Pública GetUpperBound (dimensión As Integer) As Integer Obtiene el límite superior de la dimensión especificada de Array.
9 Función Pública GetValue (index As Integer) As Object Obtiene el valor de la posición especificada de la matriz Array unidimensional. El índice se especifica como un entero de 32 bits.
10 Público IndexOf Shared Function (array Como Array, valor As Object) As Integer Busca el objeto especificado y devuelve el índice de la primera aparición 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 Público SetValue Sub (valor como objeto, índice As Integer) Establece un valor en el elemento en la posición 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 implementación de IComparable de cada elemento de la matriz.
14 Public Overridable Function ToString As StringDevuelve una cadena que representa el objeto actual (Se hereda de Object).
Para la lista completa de las propiedades y métodos de la clase Array, consulte la documentación de Microsoft.
Ejemplo
El programa siguiente muestra el uso de algunos de los métodos 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 Módulo
Cuando se compila el código anterior y ejecutado, se produce el siguiente resultado:
Matriz original: 34 72 13 44 25 30 10Matriz Invertida: 10 30 25 44 13 72 34Matriz Ordenado: 10 13 25 30 34 44 72