Come dichiarare un array in linea in VB.NET
Domanda
Sto cercando l'equivalente VB.NET di
var strings = new string[] {"abc", "def", "ghi"};
Soluzione
Dim strings() As String = {"abc", "def", "ghi"}
Altri suggerimenti
Ci sono già molte risposte esatte a questo, ma ecco un "insegnare a un ragazzo a pescare" versione.
Per prima cosa crea una piccola app console in C #:
class Test
{
static void Main()
{
var strings = new string[] {"abc", "def", "ghi"};
}
}
Compilalo, mantenendo le informazioni di debug:
csc /debug+ Test.cs
Esegui Reflector e apri il metodo Main, quindi decompila in VB. Si finisce con:
Private Shared Sub Main()
Dim strings As String() = New String() { "abc", "def", "ghi" }
End Sub
Quindi siamo arrivati ??alla stessa risposta, ma senza conoscere VB. Non funzionerà sempre e ci sono molti altri strumenti di conversione là fuori, ma è un buon inizio. Sicuramente vale la pena provare come primo porto di scalo.
Nelle versioni più recenti di VB.NET che supportano il tipo inferendo, questa versione più corta funziona anche:
Dim strings = {"abc", "def", "ghi"}
Dim strings As String() = New String() {"abc", "def", "ghi"}
Non un ragazzo VB. Ma forse qualcosa del genere?
Dim strings = New String() {"abc", "def", "ghi"}
(circa 25 secondi in ritardo ...)
Suggerimento: http://www.developerfusion.com/tools/convert / csharp-to-vb /
Dim string As As String () = {" abc " ;, " def " ;, " ghi "}