57 votes

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

Je cherche l'équivalent en VB.NET de

var strings = new string[] {"abc", "def", "ghi"};

75voto

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

43voto

Jon Skeet Points 692016

Il y a déjà beaucoup de réponses correctes à cette question, mais voici une version "apprendre à pêcher à un gars".

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écuter Réflecteur sur celui-ci, 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 connaître réellement VB. Cela ne fonctionnera pas toujours, et il existe de nombreux autres outils de conversion, mais c'est un bon début. Cela vaut vraiment la peine d'essayer comme premier port d'appel.

9voto

Netricity Points 1339

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

Dim strings = {"abc", "def", "ghi"}

5voto

David Mohundro Points 5158
Dim strings As String() = New String() {"abc", "def", "ghi"}

5voto

Jesper Palm Points 5280

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

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

(Avec environ 25 secondes de retard...)

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X