Collection Clase

Definición

Una Collection de Visual Basic es un conjunto ordenado de elementos a los que se puede hacer referencia como una unidad.

public ref class Collection sealed : System::Collections::IList
public ref class Collection sealed : System::Collections::IList, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public sealed class Collection : System.Collections.IList
[System.Serializable]
public sealed class Collection : System.Collections.IList, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type Collection = class
    interface ICollection
    interface IEnumerable
    interface IList
type Collection = class
    interface ICollection
    interface IList
[<System.Serializable>]
type Collection = class
    interface ICollection
    interface IList
    interface ISerializable
    interface IDeserializationCallback
Public NotInheritable Class Collection
Implements IList
Public NotInheritable Class Collection
Implements IDeserializationCallback, IList, ISerializable
Herencia
Collection
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se crea el Collection objeto names y un cuadro de diálogo con el que un usuario puede agregar objetos (nombres) a la colección. A continuación, muestra los nombres de la colección y, por último, vacía la colección sin eliminar el Collection propio objeto.

Para ver cómo funciona, elija el comando Agregar clase en el menú Proyecto y declare una variable pública denominada instanceName en el nivel de módulo de nameClass (tipo Public instanceName) para contener los nombres de cada instancia. Deje el nombre predeterminado como nameClass. Copie y pegue el código siguiente en la sección General de otro módulo y, a continuación, inícielo con la instrucción classNamer en otro procedimiento. (Este ejemplo solo funciona con aplicaciones host que admiten clases).

Public Class nameClass
    Public instanceName As String
End Class
Sub classNamer()
    ' Create a Visual Basic Collection object.
    Dim names As New Microsoft.VisualBasic.Collection()
    Dim key As Integer
    Dim msg As String
    Dim name As String
    Dim nameList As String = ""
    ' 1. Get names from the user to add to the collection.
    Do
        Dim inst As New nameClass()
        key += 1
        msg = "Please enter a name for this object." & vbCrLf &
              "Press Cancel to see names in collection."
        name = InputBox(msg, "Name the Collection items")
        inst.instanceName = name
        ' If user entered a name, add it to the collection.
        If inst.instanceName <> "" Then
            names.Add(inst, CStr(key))
        End If
    Loop Until name = ""
    ' 2. Create and display a list of names from the collection.
    For Each oneInst As nameClass In names
        nameList &= oneInst.instanceName & vbCrLf
    Next oneInst
    MsgBox(nameList, , "Instance Names in names Collection")
    ' 3. Remove elements from the collection without disposing of the collection.
    For count As Integer = 1 To names.Count
        names.Remove(1)
        ' Since Visual Basic collections are reindexed automatically, 
        ' remove the first member on each iteration.
    Next count
End Sub

Comentarios

Nota

Siempre que sea posible, debe usar las colecciones genéricas en el System.Collections.Generic espacio de nombres o en el System.Collections.Concurrent espacio de nombres en lugar de en un objeto de Visual Basic Collection. Para obtener más información, vea Colecciones - C# o Colecciones - Visual Basic.

El objeto de Visual Basic Collection proporciona una manera cómoda de hacer referencia a un grupo relacionado de elementos como un solo objeto. Los elementos o elementos de una colección solo deben estar relacionados por el hecho de que existen en la colección. Los elementos de una colección no tienen que compartir el mismo tipo de datos.

Puede crear una colección de la misma manera que se crean otros objetos, como se muestra en el ejemplo siguiente.

Dim coll As New Microsoft.VisualBasic.Collection()  

Una vez que haya creado una colección, puede realizar cualquiera de las siguientes acciones:

  • Agregue un elemento con el Add método .

  • Quite un elemento con el Remove método .

  • Quite todos los elementos con el Clear método .

  • Averigüe cuántos elementos contiene la colección con la Count propiedad .

  • Compruebe si un elemento específico está presente con el Contains método .

  • Devuelve un elemento específico de la colección con la Item[] propiedad .

  • Recorrer en iteración toda la colección con for each... Siguiente instrucción.

    Nota

    Aunque el objeto de Visual Basic Collection tiene una funcionalidad idéntica al Collection objeto en Visual Basic 6.0, los dos no pueden interoperar en un entorno COM.

    Precaución

    La iteración a través de visual Basic Collection no es un procedimiento seguro para subprocesos. Incluso si la colección está sincronizada, otros subprocesos todavía pueden modificar la colección, lo que hace que el enumerador produzca una excepción. Para garantizar la seguridad de los subprocesos durante la enumeración, bloquee la colección o capture las excepciones resultantes de los cambios realizados por otros subprocesos. Para obtener más información sobre cómo bloquear un elemento de programación, vea SyncLock Statement.

Constructores

Collection()

Crea y devuelve un nuevo objeto Collection de Visual Basic.

Propiedades

Count

Obtiene el número de elementos de una colección.

Item[Int32]

Obtiene un elemento concreto de un objeto Collection por posición o por clave.

Item[Object]

Obtiene un elemento concreto de un objeto Collection por posición o por clave.

Item[String]

Obtiene un elemento concreto de un objeto Collection por posición o por clave.

Métodos

Add(Object, String, Object, Object)

Agrega un elemento a un objeto Collection.

Clear()

Elimina todos los elementos de un objeto Collection de Visual Basic.

Contains(String)

Devuelve un valor que indica si un objeto Collection de Visual Basic contiene un elemento con una clave concreta.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un enumerador que procesa una iteración en la colección.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Remove(Int32)

Quita un elemento de un objeto Collection.

Remove(String)

Quita un elemento de un objeto Collection.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Copia los elementos de Collection en Array, empezando por un índice determinado de Array.

ICollection.Count

Obtiene el número de elementos de esta colección.

ICollection.IsSynchronized

Obtiene un valor que indica si el acceso al objeto Collection está sincronizado (es seguro para subprocesos).

ICollection.SyncRoot

Obtiene un objeto que puede utilizarse para sincronizar el acceso al objeto Collection.

IDeserializationCallback.OnDeserialization(Object)

Se ejecuta después de que se deserialice el gráfico del objeto Collection completo.

IEnumerable.GetEnumerator()

Obtiene un enumerador que recorre en iteración la colección.

IList.Add(Object)

Agrega un elemento a la colección.

IList.Clear()

Quita todos los elementos del objeto Collection.

IList.Contains(Object)

Determina si el objeto Collection contiene un valor específico.

IList.IndexOf(Object)

Determina el índice de un elemento específico del objeto Collection.

IList.Insert(Int32, Object)

Inserta un elemento en el índice especificado del objeto Collection.

IList.IsFixedSize

Obtiene un valor que indica si el objeto Collection tiene un tamaño fijo.

IList.IsReadOnly

Obtiene un valor que indica si el objeto Collection es

IList.Item[Int32]

Obtiene o establece el elemento en el índice especificado.

IList.Remove(Object)

Quita del objeto Collection la primera aparición de un objeto específico.

IList.RemoveAt(Int32)

Quita el elemento de objeto Collection del índice especificado.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Devuelve los datos necesarios para serializar el objeto Collection.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a