Collection Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 alCollection
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 |
Item[Object] |
Obtiene un elemento concreto de un objeto |
Item[String] |
Obtiene un elemento concreto de un objeto |
Métodos
Add(Object, String, Object, Object) |
Agrega un elemento a un objeto |
Clear() |
Elimina todos los elementos de un objeto |
Contains(String) |
Devuelve un valor que indica si un objeto |
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 |
Remove(String) |
Quita un elemento de un objeto |
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. |