Compartir a través de


Usar colecciones para administrar varios objetos

Actualización: noviembre 2007

En esta lección, aprenderá a utilizar una colección para administrar grupos de objetos.

En una lección anterior, aprendió a utilizar matrices para administrar grupos de variables. Aunque las matrices también se utilizan para administrar grupos de objetos, Visual Basic tiene un tipo de objeto especial denominado colección, el cual se puede usar para almacenar y recuperar grupos de objetos similares.

Al igual que una matriz, cada elemento de un objeto Collection tiene un índice que se puede utilizar para identificar dicho elemento. Además, cada elemento de un objeto Collection tiene una clave, un valor String que se puede utilizar para identificar el elemento. La ventaja de utilizar una clave es que no necesita recordar el índice de un elemento; en su lugar, puede referirse a él a través de un nombre significativo.

Crear una colección

Las colecciones son útiles cuando el programa utiliza varias instancias de la misma clase. Por ejemplo, examine la clase Players que creó en una lección anterior. Es probable que necesite varios objetos Players para representar un equipo de béisbol.

El primer paso para crear una colección es crear una instancia de un objeto Collection, tal como se muestra en la siguiente declaración.

Dim baseballTeam As New Collection

Cuando se crea el objeto Collection, se puede utilizar el método Add para agregarle elementos y el método Remove para eliminarlos. Cuando agregue elementos, primero especifique el elemento que se va a agregar y luego el valor String que se va a utilizar como clave.

baseballTeam.Add(playerObject, "Player's Name")

Al quitar un elemento, utilice la clave para especificar el elemento que se va a quitar.

baseballTeam.Remove("Player's Name")

En el siguiente procedimiento, se agregarán dos nuevos objetos Players y, a continuación, se creará una colección team y se le agregarán los objetos Players, mediante la propiedad Position como una clave.

Inténtelo

Para crear una colección de objetos

  1. Abra el proyecto Persons que creó en la lección anterior. Si no lo guardó, vuelva a la lección anterior, Generar una clase a partir de una clase existente: utilización de la herencia, y finalice los procedimientos.

  2. En el Explorador de soluciones, en el proyecto PlayerTest, seleccione el nodo Form1.vb y en el menú Ver, seleccione Código.

  3. En el Editor de código, agregue lo siguiente a la sección de declaraciones (debajo de la declaración para player2).

    Dim player3 As New Persons.Players
    Dim player4 As New Persons.Players
    Dim team As New Collection
    
  4. Agregue el siguiente código al procedimiento de evento Form1_Load.

    With player3
        .FirstName = "Eduardo"
        .LastName = "Saavedra"
        .Number = 52
        .Position = "First Base"
    End With
    
    With player4
        .FirstName = "Karl"
        .LastName = "Jablonski"
        .Number = 22
        .Position = "Pitcher"
    End With
    
    team.Add(player1, player1.Position)
    team.Add(player2, player2.Position)
    team.Add(player3, player3.Position)
    team.Add(player4, player4.Position)
    
  5. En el Explorador de soluciones, en el proyecto PlayerTest, seleccione el nodo Form1.vb. A continuación, en el menú Ver, elija Diseñador.

  6. En el Cuadro de herramientas, arrastre un control ComboBox hasta el formulario.

  7. En la ventana Propiedades, seleccione la propiedad Items y haga clic en el botón ....

  8. En el Editor de la colección de cadenas, escriba lo siguiente y haga clic en Aceptar.

    Catcher

    First Base

    Pitcher

    Shortstop

  9. Haga doble clic en el control ComboBox para abrir el Editor de código y escriba el siguiente código en el controlador de eventos ComboBox1_SelectedIndexChanged.

    Dim SelectedPlayer As Persons.Players
    SelectedPlayer = team(ComboBox1.SelectedItem)
    MsgBox("Playing " & ComboBox1.SelectedItem & " is " & _
    SelectedPlayer.FullName & "!")
    
  10. Presione F5 para ejecutar el programa. Seleccione una posición de la lista desplegable, aparecerá en un cuadro de mensaje el jugador para esa posición.

Pasos siguientes

En esta lección, aprendió a utilizar un objeto Collection para administrar un grupo de objetos. En este momento, puede aprender más sobre las colecciones en Información detallada: utilizar un bucle For Each...Next en una colección o puede continuar con el siguiente grupo de lecciones y aprender a crear sus propios controles.

Siguiente lección: Objetos visibles: crear el primer control de usuario

Vea también

Tareas

Información detallada: utilizar un bucle For Each...Next en una colección

Información detallada: reemplazar miembros

Generar una clase a partir de una clase existente: utilización de la herencia

Conceptos

Clase de colección de Visual Basic

Otros recursos

Objetos visibles: crear el primer control de usuario