Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取(字符串,列表)的keyvaluepair列表的内部列表值?_C#_.net - Fatal编程技术网

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