Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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#加入字典,并提供其他信息_C#_Dictionary_Join - Fatal编程技术网

C#加入字典,并提供其他信息

C#加入字典,并提供其他信息,c#,dictionary,join,C#,Dictionary,Join,我加入简单字典没有问题,这段代码很好: Dictionary<string, int> lala01 = new Dictionary<string, int>(); lala01.Add("A", 5); lala01.Add("B", 2); lala01.Add("C", 8); Dictionary<string, int> lala02 = new Dictionary

我加入简单字典没有问题,这段代码很好:

        Dictionary<string, int> lala01 = new Dictionary<string, int>();
        lala01.Add("A", 5);
        lala01.Add("B", 2);
        lala01.Add("C", 8);

        Dictionary<string, int> lala02 = new Dictionary<string, int>();
        lala02.Add("A", 1);
        lala02.Add("B", 9);
        lala02.Add("X", 4);

        Dictionary<string, int> lala03 = new Dictionary<string, int>();
        lala03.Add("A", 7);
        lala03.Add("C", 4);
        lala03.Add("X", 1);
        lala03.Add("Q", 2);

        List<Dictionary<string, int>> dictionaries = new List<Dictionary<string, int>>();
        dictionaries.Add(lala01);
        dictionaries.Add(lala02);
        dictionaries.Add(lala03);

        var result = dictionaries.SelectMany(dict => dict)
                     .ToLookup(pair => pair.Key, pair => pair.Value)
                     .ToDictionary(group => group.Key, group => group.Max());

我应该编写什么代码来只包含具有最大整数的keyvaluepair?

如果您只需要max by value对,您可能正在寻找类似MaxBy(从)的东西

如果不能使用更多linq,可以先使用
命令执行
OrderBy

 var result = dictionaries.SelectMany(dict => dict)
              .ToLookup(pair => pair.Key, pair => pair.Value)
              .ToDictionary(group => group.Key, group => group.OrderByDescending(v=> v.Key).First());

如果按键排序,则这是答案!非常感谢。
        var result = dictionaries.SelectMany(dict => dict)
                     .ToLookup(pair => pair.Key, pair => pair.Value);
                     //Basically I am clueless here  .ToDictionary(group => group.Key, group => group.Select(x => x).Max(x => x.Key)); 
 var result = dictionaries.SelectMany(dict => dict)
              .ToLookup(pair => pair.Key, pair => pair.Value)
              .ToDictionary(group => group.Key, group => group.MaxBy(v=> v.Key));
 var result = dictionaries.SelectMany(dict => dict)
              .ToLookup(pair => pair.Key, pair => pair.Value)
              .ToDictionary(group => group.Key, group => group.OrderByDescending(v=> v.Key).First());