2012-12-20 7 views
6

は、あなたがインスタンス化し、すぐにこのような配列を使用することができます:C#でC#は、{"string1"、 "string2"}のような簡略配列宣言のためのVB.NETに相当しますか? VB.NETで

Dim b as Boolean = {"string1", "string2"}.Contains("string1")

を、しかし、あなたがこれをしなければならない表示されます。

bool b = new string[] { "string1", "string2" }.Contains("string1");

はいC#は、明示的に宣言することなく配列の型を決定するために型推論を使用する等価な簡略構文を持っていますか?

答えて

19
自分のタイプを含める必要はありません、提供 Implicitly typed arrays

それはinferredことができます:

bool b = new [] { "string1", "string2" }.Contains("string1"); 
+0

そして、あなたはそれについてもっと読むことができます:http://msdn.microsoft.com/en-us/library/bb384090.aspx – Pete

+0

あああまりにも悪いです。私はさらに新しい[]を指定する必要もないことを望んでいましたが、それはそれがそうであると思います。ありがとう。 – oscilatingcretin

3

それはあなたが暗黙的に型指定された配列を作成することができImplicitly Typed Arrays

と呼ばれるもので の種類配列インスタンスは配列 初期化子で指定された要素から推論されます。暗黙的に型指定された変数の規則は、 の暗黙的に型指定された配列にも適用されます。

static void Main() 
    { 
     var a = new[] { 1, 10, 100, 1000 }; // int[] 
     var b = new[] { "hello", null, "world" }; // string[] 
    } 

あなたはジャグ配列のためにも、それを使用することができます。

関連する問題