-17

これは辞書です:

Dictionary<string, List<string>> Dic = new Dictionary<string, List<string>>();

次のことをしたい: ボタンをクリックすると、最初の辞書 (Dic) キーとその値がリスト ( List<string>) にコピーされます。もう一度クリックすると、同じことが起こりますが、今度は次のディクショナリ キーと値を使用します。

4

2 に答える 2

1

List<string>辞書のリスト値のすべての文字列要素に基づいて新しいを作成したいようです。SelectMany次のコードを使用して、フラット化してリストを取得するために使用できます。

Dictionary<string, List<string>> Dic = new Dictionary<string, List<string>>();
Dic.Add("1", new List<string>{"ABC","DEF","GHI"});
Dic.Add("2", new List<string>{"JKL","MNO","PQR"});
Dic.Add("3", new List<string>{"STU","VWX","YZ"});

List<string> strList = Dic.SelectMany(r => r.Value).ToList();

WherestrListには、ディクショナリのすべての文字列項目が 1 つのリストに含まれます。

于 2012-09-07T07:22:09.410 に答える
0

なぜToListメソッドを使用しないのですか?

Dictionary<string, int> dictionary = new Dictionary<string, int>();
dictionary["cat"] = 1;
dictionary["dog"] = 4;
dictionary["mouse"] = 2;
dictionary["rabbit"] = -1;

// Call ToList.
List<KeyValuePair<string, int>> list = dictionary.ToList();

// Loop over list.
foreach (KeyValuePair<string, int> pair in list)
{
    Console.WriteLine(pair.Key);
    Console.WriteLine("   {0}", pair.Value);
}
于 2012-09-07T06:53:54.593 に答える