2012-03-02 23 views
3

私はこの件に関して他の記事を読んだことがありますが、これを理解することはできません。C#の辞書に配列を追加する

私はC#で同じキーを持つ辞書に入れたいリストを持っています。リストには、私が作成し、キービーイング「IN」(配列名)、その後、辞書内のアレイの各文字列を持つ辞書を移入したいこの

string[] IN ={"Against","Like","Upon","Through","Of","With","Upon","On","Into","From","by","that","In","About","For" 
    ,"Along","Before","Beneath","At","Across","beside","After","Though","Among","Toward","If"}; 

です。これは私が辞書を作成するために書いたものである

(私はわからないが正しいです):

Dictionary<string, List<string>> wordDictionary = new Dictionary<string, List<string>>() 

しかし、私は辞書を移入するかどうかはわかりません。それがあるべき - これは私が辞書を使用しようとしたのは初めてであり、私はC#

+1

実際に文字列配列 "IN"を追加しようとしていますか、変数の名前を追加するとしますか?また、この要件は物事を構成する悪い方法のようだ...達成しようとしていることを説明したら、より良い解決策を提案することができます。 –

答えて

8

配列はこれだけこれを行う、string[]、ないList<string>です。

wordDictionary.Add("IN", IN); 

または:

wordDictionary.Add("IN", new string[] {"Against","Like","Upon","Through","Of","With","Upon","On","Into","From","by","that","In","About","For","Along","Before","Beneath","At","Across","beside","After","Though","Among","Toward","If"}); 
+0

Minitech、これはすばらしいおかげだ!私の質問は、辞書にある配列内の個々の文字列にどうやってアクセスすればよいのでしょうか? – miltonjbradley

+0

@miltonjbradley:他の配列と同様。何らかの形で索引( 'wordDictionary [" IN "] [0] ==" Against ")またはループ(' foreach(wordDictionary ["IN"])の文字列) – Ryan

1

あなたは現在の文字列配列ではなく、リストを持っているに新しいですと

任意の助けいただければ幸いです:

wordDictionary.Add("IN" , IN); 
1
Dictionary.Add("IN", new List<string>(IN)); 

Dictionary<string, string[]> wordDictionary = new Dictionary<string,string[]>() 

次に、あなただけのような項目を追加することができます

...辞書の現在の署名を保持したい場合。

あなたはDictionary<string, string[]>に変更した場合は、その後することができますだけで:

Dictionary<string, string[]> wordDictionary = new Dictionary<string, string[]>(); 

今、あなたはいつものようにあなたの配列を追加することができます。

Dictionary.Add("IN",IN); 
0

あなたが本当に文字列にあなたの配列を変換する必要がありますか?あなたは非常によくあなたの辞書で文字列[]の代わりに、リストを使用することもできます。

var wordDictionary = new Dictionary<string, string[]>(); 
wordDictionary.Add("IN", IN); 

をしかし、あなたが本当にリストに、文字列配列を変換したい場合:

var wordDictionary = new Dictionary<string, List<string>>(); 
wordDictionary.Add("IN", IN.ToList()); 
0

配列を追加する別の方法を(それはです辞書にないリスト)コレクション初期化子を使用することです:

var wordDictionary = new Dictionary<string, string[]> { "IN", IN }; 

これはで正確通常の方法で辞書を作成するのと同じ、その後CAL ling Add("IN", IN)

関連する問題