Cómo: Crear una colección de objetos (Visual Basic)
Como ocurre con cualquier objeto, declare una variable para contener el objeto y, a continuación, cree el objeto de la colección y asígnelo a la variable.
Para un objeto de colección, puede usar la clase Collection o una clase de colección de .NET Framework. En particular, puede crear una colección genérica utilizando una de las clases en el espacio de nombres System.Collections.Generic. Una colección genérica es útil cuando todos los elementos de la colección tienen el mismo tipo de datos. Las colecciones genéricas cumplen el establecimiento inflexible de tipos al permitir agregar sólo el tipo de datos deseado. Para obtener más información, vea Cómo: Definir colecciones con seguridad de tipos (Visual Basic).
Cuando se crea el objeto de colección, puede agregar y quitar elementos y elementos de acceso de la colección.
A continuación, se muestran dos ejemplos sobre cómo crear colecciones. Cada colección contiene elementos String y asocia una clave String a cada elemento. Los dos primeros procedimientos crean una colección mediante la clase de colección de Visual Basic. Los dos últimos procedimientos crean una colección mediante una clase de colección genérica de .NET Framework.
Crear una colección mediante la clase de colección de Visual Basic
Declare y cree una variable Collection deVisual Basic, tal como se muestra en el ejemplo siguiente.
Dim sampleVisualBasicColl As New Microsoft.VisualBasic.Collection()
La colección de sampleVisualBasicColl puede aceptar elementos de cualquier tipo de datos.
Utilice el método Add para agregar elementos a la colección. El ejemplo siguiente crea cuatro elementos String y los agrega a la colección. Crea un valor String único como clave para cada nuevo elemento y lo pasa al método Add.
Dim item1, item2, item3, item4 As String item1 = "Items" item2 = "In" item3 = "A" item4 = "Collection" sampleVisualBasicColl.Add(item1, "firstkey") sampleVisualBasicColl.Add(item2, "secondkey") sampleVisualBasicColl.Add(item3, "thirdkey") sampleVisualBasicColl.Add(item4, "fourthkey")
El argumento Key es opcional en una colección de Visual Basic.
Si desea quitar un elemento de la colección, puede usar el método Remove identificando el elemento por su índice posicional o por su clave opcional. Esto se ilustra en el siguiente ejemplo:
' Remove the first element of the Visual Basic collection. sampleVisualBasicColl.Remove(1) ' Remove the element with the key "secondkey". sampleVisualBasicColl.Remove("secondkey")
Tenga en cuenta que al quitar un elemento de la variable Collection de Visual Basic, los valores del índice se numeran desde 1 hasta el valor de la propiedad Count.
Para utilizar For Each...Next para procesar los elementos de la colección de Visual Basic
Declare una variable del tipo almacenado en la colección. Para obtener el ejemplo anterior, declare una variable de tipo String, tal como muestra el ejemplo siguiente.
' Insert code from the preceding example. Dim aString As String
Utilice Instrucción For Each...Next (Visual Basic) para examinar cada elemento de la colección. El ejemplo siguiente busca una cadena determinada y la muestra si la encuentra.
For Each aString in sampleVisualBasicColl If aString = "Collection" Then MsgBox(aString) End If Next aString
Para crear una colección mediante una clase de colección genérica
Declare y cree una variable de .NET Framework System.Collections.Generic.Dictionary<TKey, TValue>, tal como se muestra en el ejemplo siguiente.
Dim sampleGenericColl As New System.Collections.Generic.Dictionary(Of String, String)
La variable sampleGenericColl contiene una colección de tipo seguro que sólo acepta elementos y claves de tipo String.
Utilice el método Dictionary<TKey, TValue>.Add para agregar elementos a la colección. El ejemplo siguiente crea cuatro elementos String y los agrega a la colección. Crea un valor String único como clave para cada nuevo elemento y lo pasa al método Add.
Dim item1, item2, item3, item4 As String item1 = "Items" item2 = "In" item3 = "A" item4 = "Collection" sampleGenericColl.Add("firstkey", item1) sampleGenericColl.Add("secondkey", item2) sampleGenericColl.Add("thirdkey", item3) sampleGenericColl.Add("fourthkey", item4)
Se requiere el argumento Key en esta colección genérica.
Para quitar un elemento de la colección, utilice el método IDictionary<TKey, TValue>.Remove. Debe proporcionar la clave para identificar el elemento que se va a quitar. Esto se ilustra en el siguiente ejemplo:
If Not sampleGenericColl.Remove("thirdkey") ' Insert code to handle "thirdkey" not found in collection. End If
Puede utilizar una instrucción For Each...Next para recorrer en iteración y procesar los elementos de una colección, como muestra el procedimiento siguiente.
Para utilizar For Each...Next para procesar los elementos de la colección genérica
Declare una variable del tipo almacenado en la colección. Para obtener el ejemplo anterior, declare una variable de tipo String, tal como muestra el ejemplo siguiente.
' Insert code from the preceding example. Dim aPair As KeyValuePair(Of String, String)
Utilice Instrucción For Each...Next (Visual Basic) para examinar cada elemento de la colección. El ejemplo siguiente busca una cadena determinada y la muestra si la encuentra.
For Each aPair In sampleGenericColl If aPair.Value = "Items" Then MsgBox(aPair.Key & " -- " & aPair.Value) End If Next aPair
Vea también
Tareas
Cómo: Crear una matriz de objetos (Visual Basic)