La forma de recorrerla es creando una estructura repetitiva, esta estructura va a depender en cierta medida del tipo de colección creada, pero veamos dos formas de hacerlo.
Sub Main()
Dim Coleccion As New System.Collections.Generic.List(Of Datos)
Dim Item As New Datos
Item.Nombre = "Silla”
Coleccion.Add(Item)
Item = New Datos()
Item.Nombre = "Naranja”
Coleccion.Add(Item)
Dim x As Integer = 0
While x < Coleccion.Count
Console.WriteLine(Coleccion.Item(x).Nombre)
x = x + 1
End While
Console.ReadLine()
End Sub
Y en este caso utilizando el bucle del tipo For each, que suele ser válido para casi todas.
Dim Dato As Datos
For Each Dato In Coleccion
Console.WriteLine(Dato.Nombre)
Next
El primer ejemplo es fácil de entender, hemos creado un bucle en el que progresamos desde x igual a cero hasta el número de elementos que tiene la colección.
El segundo ejemplo se basa en que el bucle For each es un bucle especializado en esta tarea y solo hay que darle el tipo de dato a leer en la colección a la que pertenece.
En las colecciones donde se utiliza clave y valor, el recorrido es de esta forma.
Dim Coleccion As New System.Collections.Generic.SortedList(Of Integer, String)
Coleccion.Add(1, "Silla")
Coleccion.Add(2, "Mesa")
Coleccion.Add(3, "Puerta")
' PV es una Pareja de Valores
' PV es del tipo KeyValuePair(Of Integer, String)
For Each PV As KeyValuePair(Of Integer, String) In Coleccion
Console.WriteLine("Clave = {0}, Valor = {1}", PV.Key, PV.Value)
Next
Hay que ser consecuente con la declaración de la colección.
Dim Coleccion As New System.Collections.Generic.SortedList(Of Integer, String)
Para después utilizar el objeto PV con la declaración adecuada, (Of Integer, String)
Una vez que disponemos de una colección, además de la acción de añadir elementos y recuperar elementos de la colección, podemos quitar elementos , comparar elementos.
Add Añade un elemento a la colección
Clear Limpia, vacía el contenido de la colección.
Clone Obtiene una copia de la colección actual.
Contains Determina si el elemento de referencia existe en la colección
CopyTo Realiza una copia del contenido de la matriz sobre un array.
Equals Determina si el objeto de referencia es igual al objeto actual.
Find Busca un elemento en la colección.
GetRange Devuelve un array que es un subconjunto de la colección
IndexOf Devuelve la posición de la primera aparición del objeto de referencia en la colección.
Insert Inserta un elemento en la colección
InsertRange Inserta los elementos especificados en la posición indicada.
LastIndexOf Devuelve la última posición de la primera aparición del objeto de referencia en la colección.
Remove Quita la primera aparición del elemento especificado.
RemoveAt Quita el elemento de la posición especificada.
RemoveRange Quita los elementos del rango especificado
SetRange Copia el rango especificado en un array
Sort Clasifica la colección.
ToArray Copia la colección en un array.
Hemos visto como se usa el método add,
Coleccion.Add(Item)
Pero hay que tener presente que hay varios tipos de colecciones, y el método Add puede cambiar según el tipo de la misma, he aquí un ejemplo.
Dim Coleccion As New System.Collections.SortedList
Coleccion.Add(1, "Silla")
Coleccion.Add(2, "Mesa")
Coleccion.Add(3, "Puerta")
Console.WriteLine(Coleccion.ContainsValue("Silla"))
O bien esta otra.
Dim Coleccion As New System.Collections.Generic.SortedList(Of String, String)
Coleccion.Add("1", "Silla")
Coleccion.Add("Dos", "Mesa")
Coleccion.Add("3", "Puerta")
En la que podríamos haber declarado también
Dim Coleccion As New System.Collections.Generic.SortedList(Of Integer, String)
Para el primero de los ejemplos.
Coleccion.Add(2, "Mesa")
Las dos colecciones no son iguales.
Dim Coleccion As New System.Collections.SortedList
Dim Coleccion As New System.Collections.Generic.SortedList(Of Integer, String)
Síguenos en: Facebook Sobre aulaClic Política de Cookies