Collection Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Um Visual Basic Collection é um conjunto ordenado de itens que pode ser referido como uma unidade.
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 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
- Herança
-
Collection
- Atributos
- Implementações
Exemplos
O exemplo seguinte cria o Collection objeto names e uma caixa de diálogo com a qual o utilizador pode adicionar objetos (nomes) à coleção. Depois, exibe os nomes na coleção e, finalmente, esvazia a coleção sem se deitar fora do Collection objeto em si.
Para ver como isto funciona, escolha o comando Add Class no menu Project e declare uma variável pública chamada instanceName ao nível do módulo nameClass (tipo Public instanceName) para conter os nomes de cada instância. Deixe o nome padrão como nameClass. Copie e cole o código seguinte na secção Geral de outro módulo e depois inicie-o com a instrução classNamer noutro procedimento. (Este exemplo funciona apenas com aplicações anfitriãs que suportam classes.)
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
Observações
Note
Sempre que possível, deve usar as coleções genéricas no espaço de nomes System.Collections.Generic ou no espaço de nomes System.Collections.Concurrent em vez de um Visual Basic Collection. Para mais informações, consulte Collections - C# ou Collections - Visual Basic.
O objeto Visual Basic Collection fornece uma forma conveniente de se referir a um grupo relacionado de itens como um único objeto. Os itens, ou elementos, numa coleção só precisam de estar relacionados pelo facto de existirem na coleção. Os elementos de uma coleção não têm de partilhar o mesmo tipo de dados.
Pode criar uma coleção da mesma forma que cria outros objetos, como o exemplo seguinte ilustra.
Dim coll As New Microsoft.VisualBasic.Collection()
Depois de criar uma coleção, pode fazer qualquer uma das seguintes:
Adiciona um elemento ao Add método.
Remova um elemento com o Remove método.
Remova todos os elementos com o Clear método.
Descubra quantos elementos a coleção contém com a Count propriedade.
Verifique se um elemento específico está presente no Contains método.
Devolva um elemento específico da coleção com a Item[] propriedade.
Itera por toda a coleção com o For Each... Próxima declaração.
Note
Embora o objeto Visual Basic
Collectiontenha funcionalidades idênticas ao objetoCollectionna Visual Basic 6.0, ambos não podem interoperar num ambiente COM.Atenção
Iterar através de um Visual Basic
Collectionnão é um procedimento seguro para threads. Mesmo que a coleção esteja sincronizada, outros threads podem ainda modificar a coleção, fazendo com que o enumerador lance uma exceção. Para garantir a segurança dos threads durante a enumeração, ou bloqueie a coleção ou detete as exceções resultantes de alterações feitas por outros threads. Para mais informações sobre bloqueio de um elemento de programação, consulte Instrução SyncLock.
Construtores
| Name | Description |
|---|---|
| Collection() |
Cria e devolve um novo objeto Visual Basic Collection. |
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de elementos numa coleção. |
| Item[Int32] |
Obtém um elemento específico de um |
| Item[Object] |
Obtém um elemento específico de um |
| Item[String] |
Obtém um elemento específico de um |
Métodos
| Name | Description |
|---|---|
| Add(Object, String, Object, Object) |
Adiciona um elemento a um |
| Clear() |
Apaga todos os elementos de um objeto Visual Basic |
| Contains(String) |
Devolve um valor que indica se um objeto Visual Basic |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Devolve um enumerador que itera pela coleção. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| Remove(Int32) |
Remove um elemento de um |
| Remove(String) |
Remove um elemento de um |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia os elementos do Collection para um Array, começando num índice particular Array . |
| ICollection.Count |
Obtém o número de itens nesta coleção. |
| ICollection.IsSynchronized |
Recebe um valor que indica se o acesso ao Collection objeto está sincronizado (thread-safe). |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao Collection objeto. |
| IDeserializationCallback.OnDeserialization(Object) |
Executa-se depois de todo Collection o grafo objeto ter sido desserializado. |
| IEnumerable.GetEnumerator() |
Obtém um enumerador que percorre a coleção. |
| IList.Add(Object) |
Adiciona um item à coleção. |
| IList.Clear() |
Remove todos os itens do Collection objeto. |
| IList.Contains(Object) |
Determina se o Collection objeto contém um valor específico. |
| IList.IndexOf(Object) |
Determina o índice de um item específico no Collection objeto. |
| IList.Insert(Int32, Object) |
Insere um item no Collection objeto no índice especificado. |
| IList.IsFixedSize |
Obtém um valor que indica se o Collection objeto tem um tamanho fixo. |
| IList.IsReadOnly |
Obtém um valor que indica se o Collection objeto está. |
| IList.Item[Int32] |
Obtém ou define o elemento no índice especificado. |
| IList.Remove(Object) |
Remove a primeira ocorrência de um objeto específico do Collection objeto. |
| IList.RemoveAt(Int32) |
Remove o Collection item objeto no índice especificado. |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Devolve os dados necessários para serializar o Collection objeto. |
Métodos da Extensão
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Permite a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable para um IQueryable. |
| Cast<TResult>(IEnumerable) |
Conjura os elementos de an IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base num tipo especificado. |