web-dev-qa-db-fra.com

Comment déclarer un tableau en ligne dans VB.NET

Je recherche l'équivalent VB.NET de

var strings = new string[] {"abc", "def", "ghi"};
55
erik
Dim strings() As String = {"abc", "def", "ghi"}
73
gfrizzle

Il existe déjà de nombreuses réponses correctes à cela, mais voici une version "apprendre à un gars à pêcher".

Créez d'abord une petite application console en C #:

class Test
{
    static void Main()
    {
        var strings = new string[] {"abc", "def", "ghi"};
    }
}

Compilez-le en conservant les informations de débogage:

csc /debug+ Test.cs

Exécutez Reflector dessus, et ouvrez la méthode Main - puis décompilez en VB. Vous vous retrouvez avec:

Private Shared Sub Main()
    Dim strings As String() = New String() { "abc", "def", "ghi" }
End Sub

Nous sommes donc arrivés à la même réponse, mais sans vraiment connaître VB. Cela ne fonctionnera pas toujours, et il existe de nombreux autres outils de conversion, mais c'est un bon début. Il vaut vraiment la peine d'essayer comme premier port d'escale.

42
Jon Skeet

Dans les versions plus récentes de VB.NET qui prennent en charge l'inférence de type, cette version plus courte fonctionne également:

Dim strings = {"abc", "def", "ghi"}
9
Netricity
Dim strings As String() = New String() {"abc", "def", "ghi"}
5
David Mohundro

Pas un VB guy. Mais peut-être quelque chose comme ça?

Dim strings = New String() {"abc", "def", "ghi"}

(Environ 25 secondes de retard ...)

Astuce: http://www.developerfusion.com/tools/convert/csharp-to-vb/

5
Jesper Palm

Dim strings As String() = {"abc", "def", "ghi"}

4
Steve Wright