Hemos visto una serie de acciones que son las clásicas en un array.
Pero disponemos de una serie de métodos en VB que realizan algunas de esas tareas, vamos a nombrarlos para que se sepa de su existencia.
Clear Limpia el contenido del array
Clone Duplica el contenido
Copy Copia un vector, o parte de él.
GetLength Indica el número de elementos.
GetLowerUbound Indica la primera posición
GetUpperUbound Indica la última posición.
GetType
GetValue Devuelve un elemento
IndexOf, LastIndexOf Indica la posición de un valor
Reverse Invierte
Sort Clasifica
Vamos a ver la utilidad de cada uno de los métodos existentes en cada una de las dos clases.
Module Ejemplo
Sub Main()
Dim Meses() As String = {"Enero", "Febrero", "Marzo", "Abril", _
"Mayo", "Junio", "Julio", "Agosto", _
"Septiembre","Octubre", "Noviembre", "Diciembre"}
Dim Valor As String
Console.WriteLine("Visualizamos el contenido antes ")
' Visualizamos el vector
For Each Valor In Meses
Console.WriteLine(Valor)
Next
Console.WriteLine("Elementos del vector {0} ", Meses.Length)
' Vaciado del vector
Meses.Clear(Meses, 0, Meses.Length)
Console.WriteLine("Visualizamos el contenido después ")
Console.WriteLine("Elementos del vector {0} ", Meses.length)
' Visualizamos el vector
For Each Valor In Meses
Console.WriteLine(" [{0}]", Valor)
Next
Console.ReadLine()
End Sub
End Module
Este método lo que hace es generar una copia de un array ya existente.
Module Ejemplo
Sub Main()
Dim Meses() As String = {"Enero", "Febrero", "Marzo", "Abril", _
"Mayo", "Junio", "Julio", "Agosto", _
"Septiembre","Octubre", "Noviembre", "Diciembre"}
Dim OtrosMeses() As String
Dim Valor As String
Console.WriteLine("Visualizamos el contenido ")
Console.WriteLine("Elementos del vector {0} ", Meses.GetUpperBound(0))
' Visualizamos el vector
For Each Valor In Meses
Console.WriteLine(Valor)
Next
' Clonamos el vector
OtrosMeses = Meses.Clone()
Console.WriteLine("Elementos vector {0} ", OtrosMeses.GetUpperBound(0))
Console.WriteLine("Visualizamos el contenido ")
' Visualizamos el vector
For Each Valor In OtrosMeses
Console.WriteLine(Valor)
Next
Console.ReadLine()
End Sub
End Module
Copia el número de elementos indicado de un array de origen a un array de destino, en la dimensión que se indica, y del número de elementos que se indique.
Module Ejemplo
Sub Main()
Dim Meses() As String = {"Enero", "Febrero", "Marzo", "Abril", _
"Mayo", "Junio", "Julio", "Agosto", _
"Septiembre","Octubre", "Noviembre", "Diciembre"}
Dim Mesesitos(3) As String
Dim Dato As String
Dim DimOrigen As Integer = 0
Dim DimDestino As Integer = 0
Dim Cuantos As Integer = 2 ' probar con 2 y 4
' Contenido vector origen
For Each Dato In Meses
Console.WriteLine(Dato)
Next
' Copia contenido de un vector en otro
Array.ConstrainedCopy(Meses, DimOrigen, Mesesitos, DimDestino, Cuantos)
' Contenido vector destino
Console.WriteLine("Visualizar el vector de destino")
For Each Dato In Mesesitos
Console.WriteLine("Mes de {0} ", Dato)
Next
Console.ReadLine()
End Sub
End Module
A diferencia de Clone, Copy hace un duplicado del vector, solo del número de elementos que se indica en el argumento.
' Copia solo el número de elementos indicado,
‘ OtrosMeses.GetUpperBound(0) vale 5, que es el número de elementos que tiene
‘ Meses es el origen,
‘ OtrosMeses es el destino
‘ Meses.Copy(Meses, OtrosMeses, OtrosMeses.GetUpperBound(0))
Module Ejemplo
Sub Main()
Dim Meses() As String = {"Enero", "Febrero", "Marzo", "Abril", _
"Mayo", "Junio", "Julio", "Agosto", _
"Septiembre","Octubre", "Noviembre", "Diciembre"}
' Le damos cinco elementos
Dim OtrosMeses(5) As String
Dim Valor As String
Console.WriteLine("Visualizamos el contenido ")
Console.WriteLine("Elementos del vector {0} ", Meses.GetUpperBound(0))
' Visualizamos el vector
For Each Valor In Meses
Console.WriteLine(Valor)
Next
' Copia solo el número de elementos indicado,
‘ OtrosMeses.GetUpperBound(0) vale 5, que es el número de elementos
‘ que tiene
‘ Meses es el origen, OtrosMeses es el destino
Meses.Copy(Meses, OtrosMeses, OtrosMeses.GetUpperBound(0))
Console.WriteLine("Elementos vector {0} ", OtrosMeses.GetUpperBound(0))
Console.WriteLine("Visualizamos el contenido ")
' Visualizamos el vector
For Each Valor In OtrosMeses
Console.WriteLine(Valor)
Next
Console.ReadLine()
End Sub
End Module
Síguenos en: Facebook Sobre aulaClic Política de Cookies