E' stato semplificato il modo per definire e inizializzare una collezione, inserendo gli elementi che la compongono con un'unica istruzione.
Per esempio, per inserire degli elementi all'interno di una List e di un Dictionary, prima dovevamo utilizzare tante istruzioni quanti gli elementi da inserire, ciascuna delle quali chiamava il metodo Add dell'oggetto:
Visual Basic
- Dim miaListaSoftware As New List(Of String)
- With miaListaSoftware
- .Add("Visual Studio 2010")
- .Add("Visual Basic 2010 Express")
- .Add("Visual C# 2010 Express")
- .Add("Visual Web Developer 2010 Express")
- .Add("Visual C++ 2010 Express")
- End With
- Dim mioDizionario As New Dictionary(Of Integer, String)
- mioDizionario.Add(1, "VB")
- mioDizionario.Add(2, "C#")
- mioDizionario.Add(3, "F#")
- mioDizionario.Add(4, "C++")
Anche ora possiamo utilizzare questa sintassi, ma ne possiamo utilizzare anche una alternativa:
Visual Basic
- Dim miaListaSoftware As New List(Of String) From {
- "Visual Studio 2010",
- "Visual Basic 2010 Express",
- "Visual C# 2010 Express",
- "Visual Web Developer 2010 Express",
- "Visual C++ 2010 Express"}
- Dim mioDizionario As New Dictionary(Of Integer, String) From
- {{1, "VB"}, {2, "C#"}, {3, "F#"}, {4, "C++"}}
Per motivi di spazio e di leggibilità abbiamo suddiviso le istruzioni su più righe, ma avremmo potuto scrivere entrambe le istruzioni su un'unica riga.
Notate il nuovo uso della clausola From che permette di inserire un elenco di elementi racchiusi tra parentesi graffe. Nel caso della seconda istruzione, poi, trattandosi di coppie di elementi da inserire, le parentesi graffe sono nidificate.
Dietro le quinte, Visual Basic chiama ancora il metodo Add dei due oggetti, ma lo fa senza obbligarci a specificarlo in modo esplicito.