web-dev-qa-db-ja.com

VB.NETで配列をインラインで宣言する方法

私はVB.NETの同等のものを探しています

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

これに対する正しい答えはすでにたくさんありますが、ここに「釣りをする人を教える」バージョンがあります。

まず、C#で小さなコンソールアプリを作成します。

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

コンパイルして、デバッグ情報を保持します。

csc /debug+ Test.cs

その上で Reflector を実行し、Mainメソッドを開き、VBに逆コンパイルします。次のようになります。

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

したがって、同じ答えに到達しましたが、実際にはVBを知りませんでした。それは常に機能するとは限らず、他にも多くの変換ツールがありますが、良いスタートです。最初の寄港地として試す価値は間違いありません。

42
Jon Skeet

型推論をサポートするVB.NETの新しいバージョンでは、この短いバージョンも機能します。

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

VB guyではありません。しかし、このようなものですか?

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

(約25秒遅れています...)

ヒント: http://www.developerfusion.com/tools/convert/csharp-to-vb/

5
Jesper Palm

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

4
Steve Wright