Jorge Paulino

Visual Basic em Português, MVP

Recent Posts

Tags



 
Administr. da Comunidade
Portugal-a-Programar


Membro da Comunidade
Experts-Exchange


Twitter
Artigos no CodeProject
Artigos no CodeProject 

Email Notifications

Archives

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!

Leave a Comment

(requerido) 

(requerido) 

(opcional)

 

(requerido) 

If you can't read this number refresh your screen
Enter the numbers above: