Unidad 34. Arrays en VB (VI)





34.6. Métodos.

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.

1    Clear

Siguiendo con el ejemplo anterior, el método Clear realiza el vaciado del contenido del vector, pero no del número de elementos, que seguirá siendo el mismo

 

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

 

2    Clone

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

 

3    ConstrainedCopy

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

4    Copy

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

 

Octubre-2010
Pág. 34.6

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies