Partilhar via


Coleções sistema autônomo uma alternativa a matrizes

Embora coleções com mais freqüência são usadas para trabalhar com o Tipo de dados Object, você pode usar uma coleção para trabalhar com qualquer tipo de dados. Em algumas circunstâncias, pode ser mais eficiente para armazenar itens em uma coleção do que em uma matriz.

Se você precisar alterar o dimensionar de uma matriz, você deve usar o ReDim demonstrativo (Visual Basic). Quando você fizer isso, Visual Basic cria uma nova matriz e libera a matriz anterior para alienação. Isso leva time de execução.Portanto, se o número de itens que você está trabalhando com as alterações com freqüência, ou você não pode prever o número máximo de itens que você precisa, você pode obter um melhor desempenho usando uma coleção.

Uma coleção, que não é necessário criar um novo objeto ou copiar elementos existentes, que pode lidar com redimensionamento em menos time de execução de uma matriz, que tem para usar ReDim. Mas se o dimensionar não é alterado ou apenas raramente é alterado, uma matriz é provável que seja mais eficiente.sistema autônomo sempre, o desempenho é altamente dependente de aplicativos individuais.É freqüentemente compensa o time para tentar uma matriz e uma coleção.

Coleções Especializadas

The .NET Framework também fornece uma variedade de estruturas, interfaces e classes para coleções Geral e especiais. The System.Collections e System.Collections.Specialized espaços para nome contém definições e implementações que incluam dicionários, listas, filas e pilhas. The System.Collections.Generic espaço para nome fornece muitas dessas versões genéricas que tomar uma ou mais argumentos de tipo.

Se sua coleção Isenção elementos de tipo de dados específico apenas um, uma coleção genérica tem a vantagem de aplicar a segurança de tipos.Para obter mais informações sobre os genéricos, consulte Tipos genéricos no Visual Basic.

Exemplo

Descrição

O exemplo a seguir utiliza o .NET Framework classe genérica System.Collections.Generic.List<T> Para criar uma coleção de lista de customer estruturas.

Código

' Define the structure for a customer.
Public Structure customer
    Public name As String
    ' Insert code for other members of customer structure.
End Structure
' Create a module-level collection that can hold 200 elements.
Public custFile As New List(Of customer)(200) 
' Add a specified customer to the collection.
Private Sub addNewCustomer(ByVal newCust As customer)
    ' Insert code to perform validity check on newCust.
    custFile.Add(newCust)
End Sub
' Display the list of customers in the Debug window.
Private Sub printCustomers()
    For Each cust As customer In custFile
        Debug.WriteLine(cust)
    Next cust
End Sub

Comentários

A declaração do custFile coleção Especifica que ele pode conter elementos somente do tipo customer. Ele também fornece uma capacidade inicial de 200 elementos.O procedimento addNewCustomer verifica o novo elemento de validade e, em seguida, adiciona-la à coleção. O procedimento printCustomers usa um For Each Faça um loop para percorrer a coleção e exibir seus elementos.

Consulte também

Tarefas

Como: Declare uma variável de matriz

Como: Criar uma matriz

Como: Inicializar uma variável de matriz

Solucionando problemas de arrays

Conceitos

Coleções em Visual Basic

Tipos genéricos no Visual Basic

Referência

ReDim demonstrativo (Visual Basic)

Outros recursos

Matrizes no Visual Basic