Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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组,然后对元组列表排序_C#_Linq_List_Sorting_Tuples - Fatal编程技术网

C# c组,然后对元组列表排序

C# c组,然后对元组列表排序,c#,linq,list,sorting,tuples,C#,Linq,List,Sorting,Tuples,我是C新手,我想对我的列表集合进行排序 用户输入数据,例如: T1 T2 T3 1 abbc 3 1 becky 5 1 betty 56 2 Olivia 6 2 abbc 3 2 becky 5 3 Olivia 675 我希望排序列表如下所示 ID = 1 { abbc,3|becky,5|betty,56 }

我是C新手,我想对我的列表集合进行排序

用户输入数据,例如:

T1   T2   T3
1  abbc   3             
1  becky  5           
1  betty  56           
2  Olivia 6             
2  abbc   3            
2  becky  5           
3  Olivia 675
我希望排序列表如下所示

 ID = 1 { abbc,3|becky,5|betty,56 }        
 ID = 2 { Olivia,6|abbc,3|becky,5 }          
 ID = 3 { Olivia,675 }

请帮助我,我真的被卡住了:

看起来更像是您要对您的商品进行分组,然后按第一个int-Id订购:


您可以创建一个从列表继承并实现ISortable的类。这样你就可以在你的新类上调用Sort方法。可能重复的是,你在什么基础上进行排序?@helpme-根据你想要的输出,他似乎认为你首先要对结果进行分组,然后才进行排序。这是对的吗?@Tom-请看helpme的澄清-这不是重复的question@helpme-这对你有帮助吗?哈哈,我不能说是为了OP,但是你用上面的评论让我开心了:@IvanStoev-哈哈哈!让我自己笑了;P@helpme-这个问题还没有解决吗?我能帮助你吗?
List<Tuple<int, string, int>> data = new List<Tuple<int, string, int>>
{
    new Tuple<int, string, int>(1,"abbc",3),
    new Tuple<int, string, int>(1,"becky",5),
    new Tuple<int, string, int>(1,"betty",56),
    new Tuple<int, string, int>(2,"Olivia",6),
    new Tuple<int, string, int>(2,"abbc",3),
    new Tuple<int, string, int>(2,"becky",5),
    new Tuple<int, string, int>(3,"Olivia",675),
};

var result = data.GroupBy(item => item.Item1)
                 .Select(group => new { Id = group.Key, Values = group.Select(item => new { item.Item2, item.Item3 }).ToList() })
                 .OrderBy(item => item.Id).ToList();