C#从字典列表中获取所有关键字



我基本上想知道如何在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);                 
}
}

最新更新