Visual Basic em Português

Página pessoal de Jorge Paulino sobre o Visual Basic (VB.NET, ASP.NET, VB6, VBA) e algumas noticias de tecnologia

VS2010 RC1: Collection Initializers

Collection Initializers é um método simples de adicionar alguns dados a uma colecção, usando a keyword From, seguida de chavetas curvas { }. Esta opção é útil quando alguns dados de uma colecção são sempre os mesmos ou quando existem algumas constantes na colecção.

Por exemplo, para se criar um array simples com alguns dados em Visual Studio 2010:

    Dim numbers = {1, 2, 3, 4, 5}
    Dim sexo = {"masculino", "feminino"}

Estes são exemplos simples, que também poderiam ser criados em versões anteriores, como VS2005 ou VS2008, embora com um sintaxe um pouco diferente, indicando que se tratavam de arrays:

    ' Exemplo em Visual Studio 2008
    Dim numbers() = {1, 2, 3, 4, 5}
    Dim sexo() = {"masculino", "feminino"}

Mas vejamos o caso de colecções, neste caso uma List(Of T):

Dim listaSexos As New List(Of String) From {"Masculino", "Feminino"}

Em versões anteriores poderia ser feito da seguinte forma:

    ' Exemplo em Visual Studio 2008
    Dim listaSexos As New List(Of String)
    listaSexos.Add("Masculino")
    listaSexos.Add("Feminino")

    ' ou, como se trata de strings, usando um array
    listaSexos.AddRange(New String() {"Masculino", "Feminino"})

Podemos também usar os collection Initializers com classes, neste caso, com uma classe simples de estudantes:

Public Class Student

  Public Property Name As String
  Public Property Age As Int16

  Sub New(ByVal _Name As String, ByVal _Age As Int16)
    Name = _Name
    Age = _Age
  End Sub

End Class

Depois, criando uma nova instancia e indicando alguns dados:

    Dim students = New List(Of Student) From
            {
               New Student("Jorge", 35),
               New Student("Ana", 30),
               New Student("Paula", 25)
            }

Em suma, os collection Initializers são métodos simples de se inicializar colecções que visam, uma vez mais, simplificar o código!

0 comentários:

Mensagens Recentes



Microsoft Office Especialist

Membro da Comunidade
Experts-Exchange


Administ. da Comunidade
Portugal-a-Programar



Twitter

Artigos no CodeProject

Artigos no CodeProject

Subscrever Novidades

Endereço de Email:

Delivered by FeedBurner

Seguidores

Histórico