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