如何获取(字符串,列表)的keyvaluepair列表的内部列表值?

时间:2015-02-10 23:02:10

标签: c# .net

我现在正在努力寻找一种从复杂的keyvalupair列表中获取内部列表的方法。

public static List<KeyValuePair<string, List<KeyValuePair<int, string>>>> conditions = new List<KeyValuePair<string, List<KeyValuePair<int, string>>>>();

我希望使用给定的字符串值作为键从上面的列表中列出。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以使用FirstOrDefault这样的方法:

conditions.FirstOrDefault(x => x.Key == "key").Value;

或者您应该使用Dictionary代替。

答案 1 :(得分:1)

您也可以使用DictionaryDictionary作为您的价值。

public static Dictionary<string, Dictionary<int, string>> conditions = new Dictionary<string, Dictionary<int, string>>();

并使用conditions[key]

进行访问

例如:

//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];