这是一本字典:
Dictionary<string, List<string>> Dic = new Dictionary<string, List<string>>();
我想做以下事情:当我单击一个按钮时,第一个字典 (Dic) 键及其值被复制到一个列表 ( List<string>
) 中。再次单击,同样的事情发生了,但这次是下一个字典键和值。
这是一本字典:
Dictionary<string, List<string>> Dic = new Dictionary<string, List<string>>();
我想做以下事情:当我单击一个按钮时,第一个字典 (Dic) 键及其值被复制到一个列表 ( List<string>
) 中。再次单击,同样的事情发生了,但这次是下一个字典键和值。
看起来您想List<string>
根据字典 List 值中的所有字符串元素创建一个新元素。您可以使用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
将在单个列表中包含字典中的所有字符串项。
为什么不使用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);
}