我基本上想知道如何在C#中编写这个(从字典列表中提取所有键(。
我有一份字典清单,里面都有唯一的关键字。
我想把它们全部提取到一个字符串列表中(因为键是字符串(。
private List<Dictionary<string, string>> dictList = new List<Dictionary<string, string>>
{
new Dictionary<string, string>() { { "a", "b" } },
new Dictionary<string, string>() { { "c", "d" } },
};
private void GetDictListKeys()
{
List<string> keyList = new List<string>();
foreach(var dict in dictList)
{
keyList.Add(dict.Keys.ToString());
}
}
谢谢。
您想要将可枚举的键展平并将其转储到集合中(使用HashSet
是因为您提到了重复项,因为这也是您在Python中使用的链接答案(:
var allKeys = dictList.SelectMany(d => d.Keys).ToHashSet();
您可以使用AddRange。
foreach (var dict in dictList)
{
keyList.AddRange(dict.Keys);
}
您可以在自己的循环中创建另一个foreach循环:
foreach (Dictionary<string,string> dict in dictList)
{
foreach(string key in dict.Keys)
{
keyList.Add(key);
}
}