2009-04-06 14 views
62

私はC#で値のリストを作成する簡単な方法を探しています。 Javaでは、私は頻繁に以下のスニペットを使用します。C#で値のリストを簡単に作成するには?

List<String> l = Arrays.asList("test1","test2","test3"); 

は別に、以下の明白な1からC#での任意の等価はありますか?

IList<string> l = new List<string>(new string[] {"test1","test2","test3"}); 

答えて

112

C#3.0のCollection Initializersを参照してください。あなたが行うことができますC#3では、

var list = new List<string> { "test1", "test2", "test3" }; 
5
IList<string> list = new List<string> {"test1", "test2", "test3"} 
8

IList<string> l = new List<string> { "test1", "test2", "test3" }; 

これは、C#2ではC#の3

の新しいコレクション初期化子構文を使用して、私はちょうどあなたの第二を使用しますオプション。

+0

Nitpick:コレクション初期化子、初期化子を反対しません。 – Timwi

4

collection initialiserを使用すると、C#でそのコード行をわずかに簡略化できます。

var lst = new List<string> {"test1","test2","test3"}; 
5

あなたはnew string[]一部をドロップすることができます。

List<string> values = new List<string> { "one", "two", "three" }; 
13

あなたが乱雑さを減らすために探しているなら、

var lst = new List<string> { "foo", "bar" }; 

これは、C#3.0の二つの特徴を使用して検討してください:型推論を( varキーワード)とリストのコレクション初期化子。あなたは配列で間に合わせることができれば

はまた、これは(少しだけ)でも短いです:迅速

var arr = new [] { "foo", "bar" }; 
+1

私は通常、私のデータ構造を選択することはありませんどちらが少ない文字を初期化するに基づいて... – Harrichael

+0

@ハリリケル右、そして私もいません。リストが必要な場合を除き、それを使う理由はありません。 –

-5

値のリスト? またはオブジェクトのリストさえ!

私はC#言語でちょうど初心者ですが、私はちょうどあります

    • Hashtableの
    • ArrayListの
    • DataTableのデータセット

    など

    を使って好きアイテムを保存する方法が多すぎる

    1

    あなたがリストを作成するためのヘルパー一般的な、静的メソッドを作成することができます。

    internal static class List 
    { 
        public static List<T> Of<T>(params T[] args) 
        { 
         return new List<T>(args); 
        } 
    } 
    

    そして使い方は非常にコンパクトです:

    List.Of("test1", "test2", "test3") 
    
    関連する問題