Collection Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um Visual Basic Collection é um conjunto ordenado de itens que podem ser chamados de 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 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
- Herança
-
Collection
- Atributos
- Implementações
Exemplos
O exemplo a seguir cria o Collection objeto names e uma caixa de diálogo com a qual um usuário pode adicionar objetos (nomes) à coleção. Em seguida, ele exibe os nomes na coleção e, por fim, esvazia a coleção sem descartar o Collection próprio objeto.
Para ver como isso funciona, escolha o comando Adicionar Classe no menu Projeto e declare uma variável pública chamada instanceName no nível do módulo de nameClass (tipo Public instanceName) para manter os nomes de cada instância. Deixe o nome predefinido como nameClass. Copie e cole o código a seguir na seção Geral de outro módulo e inicie-o com a instrução classNamer em outro procedimento. (Este exemplo funciona apenas com aplicativos host que dão suporte a 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
Comentários
Observação
Sempre que possível, você deve usar as coleções genéricas no System.Collections.Generic namespace ou no System.Collections.Concurrent namespace em vez de um Visual Basic Collection. Para obter mais informações, consulte Coleções – C# ou Coleções – Visual Basic.
O objeto Visual Basic Collection fornece uma maneira conveniente de se referir a um grupo relacionado de itens como um único objeto. Os itens, ou elementos, em uma coleção só precisam estar relacionados pelo fato de existirem na coleção. Elementos de uma coleção não precisam compartilhar o mesmo tipo de dados.
Você pode criar uma coleção da mesma forma que cria outros objetos, como ilustra o exemplo a seguir.
Dim coll As New Microsoft.VisualBasic.Collection()
Depois de criar uma coleção, você pode fazer qualquer uma das seguintes ações:
Adicione um elemento com o 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 com o Contains método.
Retorne um elemento específico da coleção com a Item[] propriedade.
Iterar por toda a coleção com o For Each... Próxima instrução.
Observação
Embora o objeto Visual Basic
Collectiontenha funcionalidade idêntica aoCollectionobjeto no Visual Basic 6.0, os dois não podem interoperar em um ambiente COM.Cuidado
Iterar por meio de um Visual Basic
Collectionnão é um procedimento thread-safe. Mesmo que a coleção seja sincronizada, outros threads ainda poderão modificar a coleção, fazendo com que o enumerador gere uma exceção. Para garantir a segurança do thread durante a enumeração, bloqueie a coleção ou capture as exceções resultantes de alterações feitas por outros threads. Para obter mais informações sobre como bloquear um elemento de programação, consulte a Instrução SyncLock.
Construtores
| Nome | Description |
|---|---|
| Collection() |
Cria e retorna um novo objeto do Visual Basic Collection . |
Propriedades
| Nome | Description |
|---|---|
| Count |
Obtém o número de elementos em uma 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
| Nome | Description |
|---|---|
| Add(Object, String, Object, Object) |
Adiciona um elemento a um |
| Clear() |
Exclui todos os elementos de um objeto do Visual Basic |
| Contains(String) |
Retorna um valor que indica se um objeto do Visual Basic |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Retorna um enumerador que itera por meio da coleção. |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| Remove(Int32) |
Remove um elemento de um |
| Remove(String) |
Remove um elemento de um |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia os elementos de Collection um Array, começando em um índice específico Array . |
| ICollection.Count |
Obtém o número de itens nesta coleção. |
| ICollection.IsSynchronized |
Obtém um valor que indica se o Collection acesso ao objeto é sincronizado (thread-safe). |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao Collection objeto. |
| IDeserializationCallback.OnDeserialization(Object) |
É executado depois que todo Collection o grafo de objeto foi desserializado. |
| IEnumerable.GetEnumerator() |
Obtém um enumerador que itera por meio da 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 é. |
| 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 item de Collection objeto no índice especificado. |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Retorna os dados necessários para serializar o Collection objeto. |
Métodos de Extensão
| Nome | Description |
|---|---|
| AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |
| Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado. |