Como declarar um inline matriz em VB.NET
Pergunta
Eu estou procurando o equivalente VB.NET de
var strings = new string[] {"abc", "def", "ghi"};
Solução
Dim strings() As String = {"abc", "def", "ghi"}
Outras dicas
Há uma abundância de respostas correctas a esta já agora, mas aqui está um "ensinar um cara de peixe" versão.
Primeiro crie um pequeno aplicativo console em C #:
class Test
{
static void Main()
{
var strings = new string[] {"abc", "def", "ghi"};
}
}
compilá-lo, mantendo informações de depuração:
csc /debug+ Test.cs
refletor sobre ele, e abrir o método principal - então descompilar a VB. Você acaba com:
Private Shared Sub Main()
Dim strings As String() = New String() { "abc", "def", "ghi" }
End Sub
Assim, chegamos à mesma resposta, mas sem realmente saber VB. Isso nem sempre funciona, e há uma abundância de outras ferramentas de conversão lá fora, mas é um bom começo. Definitivamente tentar como um primeiro porto de escala.
Em versões mais recentes do VB.NET que tipo de apoio inferir, esta versão mais curta também funciona:
Dim strings = {"abc", "def", "ghi"}
Dim strings As String() = New String() {"abc", "def", "ghi"}
Não é um cara VB. Mas talvez algo assim?
Dim strings = New String() {"abc", "def", "ghi"}
(cerca de 25 segundos tarde ...)
Dica: http://www.developerfusion.com/tools/convert / csharp-to-vb /
Dim strings As String() = {"abc", "def", "ghi"}