Compartilhar via


Coleções em Visual Basic

Em termos gerais, uma coleção é um objeto usado para agrupar e gerenciar objetos relacionados.Por exemplo, todo Form possui uma coleção de controles.(Você pode acessar essa coleção através do formulário de prorpiedade Controls.) Essa coleção é um objeto que representa todos os controles naquele formulário formulário.Ele permite que você recupere um controle na coleção por seu índice, percorra os elementos da coleção usando um For each... Next demonstrativo (Visual Basic) .

No entanto, existem vários tipos de coleções, e diferem uns dos outros de várias maneiras.

Diferentes tipos das coleções

Visual Basic também fornece uma classe Collection, com o qual você pode definir e criar suas próprias coleções.Como uma coleção Controls do formulário, a classe Collection também fornece a funcionalidade interna para repetir elementos usando For Each... Next e para recuperar os elementos pelo índice.Para obter mais informações, consulte Objetos de Coleção (Visual Basic).

No entanto, os dois tipos de coleções não interagem uns com os outros.Por exemplo, o código a seguir gera um erro do compilador.

Dim localControls As Collection

' The following line generates a COMPILER ERROR.

localControls = Me.Controls()

As coleções são incompatíveis porque a coleção Controls é uma coleção .NET Framework, enquanto a variável localControls é um Visual Basic Collection.Os dois tipos de coleções são implementados a partir de classes diferentes.Seus métodos são semelhantes, mas não idênticos, e seus esquemas indexação são diferentes.

Coleções de base zero e base um.

Uma coleção pode ser com base nula ou com base em um , dependendo no que está o seu índice inicial.O primeiro meio que o índice do primeiro item na coleção é 0 e o meio segundo é 1.An example of a zero-based collection is the .NET Framework Controls collection, discussed earlier on this page.O objeto Visual Basic Collection é um exemplo de uma coleção com base em um.

Coleções com base em um podem ser mais intuitivas para Visual Basic Usuários, porque o índice varia de 1 ao valor da Propriedades de Contagem ( Objeto de coleção)., que retorna o número de itens em uma coleção.O índice de uma coleção com base zero, por outro lado, varia de 0 por meio de um menor que o valor da propriedade Count.Isso pode ser apropriado quando os valores de índice são deslocamentos de um valor de base ou correspondem aos membros de uma enumeração baseada em zero.

Coleções .NET Framework são baseadas em zero com o objetivo de padronização.A classe Visual Basic Collection é baseada em um para fins de compatibilidade com versões anteriores.

Índices e valores chave

As instâncias da classe Visual Basic Collection permitem que você acesse um item usando um índice numérico ou uma String chave.Você pode adicionar itens aos objetos Visual Basic Collection especificando ou não uma chave.Se você adicionar um item sem uma chave, você deve usar seu índice numérico para acessá-lo.

Por outro lado, coleções como System.Collections.ArrayList permitem apenas um índice numérico.Não é possível associar as chaves com os elementos dessas coleções, a menos que você crie seu próprio mapeamento com base, por exemplo, em uma matriz String pressionando as teclas.

Adicionando e removendo itens

Coleções também diferem em se ou não você pode adicionar itens a elas e em caso afirmativo, como esses itens são adicionados.Como o objeto Visual Basic Collection é uma ferramenta de programação de uso geral, é mais flexível do que algumas outras coleções.Ele tem um Método Add (objeto da coleção) para colocar Itens em coleção e um Método Remove (Objeto Coleção) para retirar itens fora.

Certas coleções especializadas, por outro lado, não permitem que você adicione ou remova elementos usando código.Por exemplo, a propriedade CheckedListBox.CheckedItems retorna uma coleção de referências a itens pelo índice, mas seu código não pode adicionar ou remover itens da coleção.Somente o usuário pode fazer isso — ao marcar ou desmarcar a caixa apropriada na interface do usuário.Assim não há nenhum Add ou método Remove para esta coleção.

Consulte também

Tarefas

Como: Criar uma coleção de objetos

Como: Criar uma matriz de objetos

Como: Adicionar, excluir e recuperar itens de uma coleção

Como: Definir coleções em suas classes

Como: Iterar por meio de uma coleção no Visual Basic

Solução de problemas de coleções

Conceitos

Gerenciando grupos de objetos

Coleção de Classes do Visual Basic

Gerenciando seus Objetos com Coleções