2010-09-20 15 views
0

J'essaye de convertir du code C# en VB mais j'obtiens une erreur. Quelle serait la bonne syntaxe VB?Conversion de C# en VB.net Liste <T> a l'erreur

C#

return new List<string> {"First Name", "Last Name", "First & Last Name", "None"}; 

VB

Return New List(Of String)() From {"First Name", "Last Name", "First & Last Name", "None"} 

Et que diriez-vous que je convertir cela aussi? liste Dim As New List (Of Country)() {De nouveau pays() {Avec .Nom key = "Select Country", Key .code = "0"}}

Merci

+3

Quelle est l'erreur? –

+0

Cela se compile si vous le mettez dans un "Function ...() As List (Of String)" –

Répondre

6

initialisation Collection est pris en charge dans VB10 (partie de Visual Studio 2010), mais pas dans VB9 (VS 2008). La syntaxe que vous avez publiée est correcte pour VB10.

Dim foos As New List(Of String)() From {"Foo", "Bar"} 

En VB9, vous juste besoin de gérer l'ancienne

Dim foos as New List(of String)() 
foos.Add("Foo") 
foos.Add("Bar") 

VB9 ne initialisation de tableau de soutien

Dim foos As String() = New String() {"Foo", "Bar"} 

Cependant, le tableau n'est pas aussi fonctionnel que le List(of T), mais si vous n'avez pas besoin d'ajouter ou de supprimer des éléments, vous pouvez certainement utiliser un tableau au lieu de la liste.

+1

Pour avoir un one-liner dans vb9, vous pouvez écrire: Retour (New String() {"Prénom", "Nom", "Prénom & Nom", "Aucun"}). ToList() – Matthieu

+0

Que diriez-vous de ce cas ??? Dim liste Comme Nouvelle Liste (De Pays)() De {Nouveau Pays() Avec {Clé .Name = "Sélectionner Pays", Clé .Code = "0"}} – user453120