[VSTS2010] Inicializando collecciones en Visual Basic 10

Buenas,

ayer comenté algo sobre las nuevas capacidades incorporadas en Visual Studio Team System 2010 para crear propiedades implementadas en Visual Basic 10. Mientras sigo repasando las novedades, me encuentro con que al igual que en la nueva versión de C#, ahora podemos inicializar las colecciones de una manera mucho más simple.

Pongamos por ejemplo el código clásico con el que trabajamos actualmente para crear una colección y cargar valores en la misma:


Dim listNames = New List(Of String)
listNames.Add("Juan")
listNames.Add("Jose")
listNames.Add("Valentino")

Ahora en la nueva versión ya podemos  inicializar las colecciones directamente en una única expression, por ejemplo:


Dim list = New List(Of String) From {"Juan", "Jose", "Valentino"}

Obviamente esto solo ayuda a tener un código un poco más legible en algunas ocasiones, pero como todo la mala utilización de esta nueva capacidad puede crear esas eternas líneas de código que incluyen todo en la misma.

Veremos como aplicamos el sentido común para no caer en la tentación 😀

 

Saludos @ Hole

El Bruno

Crossposting from ElBruno.com

6 comentarios sobre “[VSTS2010] Inicializando collecciones en Visual Basic 10”

  1. Totalmente de acuerdo contigo amigo.

    Yo en mi caso prefiero agregar los elementos posteriormente como en el primer ejemplo ya que te da una mejor visión de cómo irán agregándose los elementos y el orden, ya que en una línea además de ocupar más espacio y tener que usar saltos de linea (ahora en VS2010 opcionales) es más complejo de conocer el orden cuando los elementos son extensos.

    Saludos y gracias por el aporte.

    Francisco J.

  2. Espero que nadie caiga en esa tentación, pero otra de las nuevas mejoras en Visual Basic 10 es que se puede separar esa inicialización en varias líneas sin tener que poner el tedioso _ para cambiar de línea, por lo que no hay excusa para no hacerlo así.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *