Je recherche l'équivalent VB.NET de
var strings = new string[] {"abc", "def", "ghi"};
Dim strings() As String = {"abc", "def", "ghi"}
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.
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"}
Dim strings As String() = New String() {"abc", "def", "ghi"}
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/
Dim strings As String() = {"abc", "def", "ghi"}