Comparteix a través de


Collection Clase

Definición

Visual Basic Collection 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 desechar el Collection propio objeto.

Para ver cómo funciona esto, 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 el System.Collections.Concurrent espacio de nombres en lugar 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 único 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 crea 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 acciones siguientes:

  • 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 de 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

Nombre Description
Collection()

Crea y devuelve un nuevo objeto de Visual Basic Collection .

Propiedades

Nombre Description
Count

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

Item[Int32]

Obtiene un elemento específico de un Collection objeto por posición o por clave.

Item[Object]

Obtiene un elemento específico de un Collection objeto por posición o por clave.

Item[String]

Obtiene un elemento específico de un Collection objeto por posición o por clave.

Métodos

Nombre Description
Add(Object, String, Object, Object)

Agrega un elemento a un Collection objeto .

Clear()

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

Contains(String)

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

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetEnumerator()

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

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
Remove(Int32)

Quita un elemento de un Collection objeto .

Remove(String)

Quita un elemento de un Collection objeto .

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
ICollection.CopyTo(Array, Int32)

Copia los elementos de en Collection un Arrayobjeto , comenzando en un índice determinado Array .

ICollection.Count

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

ICollection.IsSynchronized

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

ICollection.SyncRoot

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

IDeserializationCallback.OnDeserialization(Object)

Se ejecuta después de deserializar todo Collection el gráfico de objetos.

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 Collection objeto .

IList.Contains(Object)

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

IList.IndexOf(Object)

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

IList.Insert(Int32, Object)

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

IList.IsFixedSize

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

IList.IsReadOnly

Obtiene un valor que indica si el Collection objeto es .

IList.Item[Int32]

Obtiene o establece el elemento en el índice especificado.

IList.Remove(Object)

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

IList.RemoveAt(Int32)

Quita el Collection elemento de objeto en el índice especificado.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Devuelve los datos necesarios para serializar el Collection objeto.

Métodos de extensión

Nombre Description
AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte un IEnumerable en un IQueryable.

Cast<TResult>(IEnumerable)

Convierte los elementos de un IEnumerable al tipo especificado.

OfType<TResult>(IEnumerable)

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

Se aplica a