c#组然后排序元组列表<T1,T2,T3>

hel*_*pme 3 c# linq sorting tuples list

我是C#的新手,我想对我的收藏品进行排序 List<Tuple<int, string, int>>

用户输入数据,例如:

T1   T2   T3
1  abbc   3             
1  becky  5           
1  betty  56           
2  Olivia 6             
2  abbc   3            
2  becky  5           
3  Olivia 675
Run Code Online (Sandbox Code Playgroud)

我希望排序列表看起来像;

 ID = 1 { abbc,3|becky,5|betty,56 }        
 ID = 2 { Olivia,6|abbc,3|becky,5 }          
 ID = 3 { Olivia,675 }
Run Code Online (Sandbox Code Playgroud)

请帮助我真的卡住了:)

Gil*_*een 8

它看起来更像你想要Group你的项目,然后Order是第一个int(Id):

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();
Run Code Online (Sandbox Code Playgroud)