C# 如何获取(字符串,列表)的keyvaluepair列表的内部列表值?
我现在正在努力寻找一种方法,从复杂的键值对列表中获取内部列表C# 如何获取(字符串,列表)的keyvaluepair列表的内部列表值?,c#,.net,C#,.net,我现在正在努力寻找一种方法,从复杂的键值对列表中获取内部列表 public static List<KeyValuePair<string, List<KeyValuePair<int, string>>>> conditions = new List<KeyValuePair<string, List<KeyValuePair<int, string>>>>(); 公共静态列表条件=新列表();
public static List<KeyValuePair<string, List<KeyValuePair<int, string>>>> conditions = new List<KeyValuePair<string, List<KeyValuePair<int, string>>>>();
公共静态列表条件=新列表();
我想从上面的列表中使用给定的字符串值作为键
有人能帮我吗?您可以使用
first或default
这样的方法:
conditions.FirstOrDefault(x => x.Key == "key").Value;
或者您可能应该使用
字典
。您也可以使用字典
和字典
作为您的值
public static Dictionary<string, Dictionary<int, string>> conditions = new Dictionary<string, Dictionary<int, string>>();
如果有多个匹配怎么办?如果没有呢?这听起来就像条件一样简单。其中(pair=>pair.Key==Key)。选择(pair=>pair.Value)这将为匹配对提供一系列
列表
值…当您试图像字典一样访问它时,为什么要使用列表
?您可以使用字典
并使用条件[键]
访问它我有一些重复的键。这就是为什么我使用这个密钥对列表。
//Initialize random, pointless dictionary for example
var conditions = new Dictionary<string, Dictionary<int, string>>
{
{
"firstDict", new Dictionary<int, string>
{
{1, "blue"},
{2, "red"}
}
},
{
"secondDict", new Dictionary<int, string>
{
{1, "car"},
{2, "truck"}
}
}
};
//Get dictionary with key value "firstDict"
var firstDict = conditions["firstDict"];
//Gets the value associated with key "1"
var color = firstDict[1];