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í.
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
Collectiontiene una funcionalidad idéntica alCollectionobjeto 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
Collectionno 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 |
| Item[Object] |
Obtiene un elemento específico de un |
| Item[String] |
Obtiene un elemento específico de un |
Métodos
| Nombre | Description |
|---|---|
| Add(Object, String, Object, Object) |
Agrega un elemento a un |
| Clear() |
Elimina todos los elementos de un objeto de Visual Basic |
| Contains(String) |
Devuelve un valor que indica si un objeto de Visual Basic |
| 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 |
| Remove(String) |
Quita un elemento de un |
| 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. |