Professional Documents
Culture Documents
La matriz students del ejemplo anterior contiene siete elementos. Los ndices de los elementos van
de 0 a 6. Tener esta matriz es ms fcil que declarar siete variables.
En la siguiente ilustracin se muestra la matriz students. Para cada elemento de la matriz:
El ndice del elemento representa el curso (el ndice 0 representa el jardn de infancia).
En el ejemplo siguiente se muestra cmo hacer referencia al primer, segundo y ltimo elemento de
la matriz students.
VB
Dim kindergarten As Integer = students (0)
Dim firstGrade As Integer = students (1)
Dim sixthGrade As Integer = students (6)
MsgBox ("Students in kindergarten = " & CStr (kindergarten))
MsgBox ("Students in first grade = " & CStr (firstGrade))
MsgBox ("Students in sixth grade = " & CStr (sixthGrade))
Tambin puede utilizar una clusula de New para proporcionar el tamao de una matriz cuando ha
creado, como se muestra en el ejemplo siguiente.
VB
CargoWeights = New Double (10) {}
AtmospherePressures = New Short (2, 2, 4, 10) {}
InquiriesByYearMonthDay = New Byte (20)()() {}
Si se tiene una matriz existente, se puede volver a definir su tamao utilizando la instruccin
Redim. Puede especificar que la instruccin de Redim debe mantener los valores que estn en la
matriz, o que cree una matriz vaca. En el ejemplo siguiente se muestran usos diferentes de la
instruccin Redim para modificar el tamao de una matriz existente.
VB
Assign a new array size and retain the current element values.
ReDim Preserve cargoWeights (20)
Assign a new array size and retain only the first five element values.
ReDim Preserve cargoWeights (4)
Assign a new array size and discard all current element values.
ReDim cargoWeights (15)
Para declarar una variable de matriz escalonada, agregue un par de parntesis despus del nombre
de la variable para cada nivel de matriz anidados.
VB
Dim inquiriesByYearMonthDay ()()() As Byte
Los ejemplos anteriores se declaran variables de matriz pero no se les asignan matrices. Debe crear
una matriz, inicializarla y asignarla a la variable.
El ejemplo siguiente muestra algunas instrucciones que reciben valores de las matrices.
VB
Dim v = 2
Dim i = 1
Dim j = 1
Dim k = 1
Dim wTotal As Double = 0.0
Cuando se utiliza la inferencia de tipos, el tipo dominante determina el tipo de matriz en la lista de
valores que se proporciona para el literal de matriz. El tipo dominante es un tipo nico al que todos
los dems tipos del literal de matriz se pueden ampliar. Si no se puede determinar este tipo nico, el
tipo dominante es el tipo nico al que los dems tipos de la matriz se pueden restringir. Si no se
puede determinar ninguno de estos tipos nicos, el tipo dominante es Object. Por ejemplo, si la lista
de valores que se proporciona al literal de matriz contiene valores de Integer con tipo, de Long, y de
Double, la matriz resultante es de Double escrito. Integer y Long amplan slo a Double. Por
consiguiente, Double es el tipo dominante. Para obtener ms informacin, vea Conversiones de
ampliacin y de restriccin (Visual Basic). Estas reglas de inferencia se aplican a los tipos que se
infieren para las matrices que son variables locales que se definen en un miembro de clase. Aunque
puede utilizar literales de matriz al crear variables de nivel de clase, no puede utilizar la inferencia
de tipos en el nivel de clase. Como resultado, los literales de matriz que se especifican en el nivel de
clase deducen los valores que se proporcionan para el literal de matriz como Object escrito.
Puede especificar explcitamente el tipo de los elementos de una matriz que se crea utilizando un
literal de matriz. En este caso, los valores del literal de matriz se deben ampliar al tipo de los
elementos de la matriz. En el ejemplo de cdigo siguiente se crea una matriz de tipo Double a partir
de una lista de enteros.
VB
Dim values As Double () = {1, 2, 3, 4, 5, 6}
Se puede crear una matriz multidimensional utilizando los literales de matriz anidados. Los literales
de matriz anidados deben tener una dimensin y un nmero de dimensiones, o rango, que es
coherente con la matriz resultante. En el ejemplo de cdigo siguiente se crea una matriz
bidimensional de enteros utilizando un literal de matriz.
VB
Dim grid = {{1, 2}, {3, 4}}
Cuando se crea una matriz multidimensional utilizando literales de matriz anidados, se puede
utilizar la inferencia de tipos. Cuando se utiliza la inferencia de tipos, el tipo deducido es el tipo
dominante para todos los valores de todos los literales de matriz en un nivel de anidamiento. En el
ejemplo de cdigo siguiente, se crea una matriz bidimensional de tipo Double a partir de valores
que son de tipo Integer y Double.
VB
Dim a = {{1, 2.0}, {3, 4}, {5, 6}, {7, 8}}
Bibliografa:
http://msdn.microsoft.com/es-es/library/wak0wfyt.aspx