C# 列表<;字符串[]>;。groupby/orderby Linq

C# 列表<;字符串[]>;。groupby/orderby Linq,c#,linq,group-by,C#,Linq,Group By,我的代码: List<string[]> records=new List<string[]>(); ..... .... #Now i has list in records var sortedRecords = records .OrderBy(o => o[0]) .ThenBy(t=>t[3]) .ToList(); .....

我的代码:

List<string[]> records=new List<string[]>();
.....
....
#Now i has list in records
var sortedRecords = records
                    .OrderBy(o => o[0])
                    .ThenBy(t=>t[3])
                    .ToList();
.....
List记录=新列表();
.....
....
#现在我有记录在案
var sortedRecords=记录
.OrderBy(o=>o[0])
.ThenBy(t=>t[3])
.ToList();
.....

我想按[0]元素分组,按每组中的[3]元素排序。我没有得到正确的输出。怎么了?

您可以先使用GroupBy
o[0]
然后它会给您分组结果。然后,您可以按
d[3]
对每个组的项目进行排序,因为分组顺序分组列表可以使用
SelectMany
方法将其展平为您期望的列表

var sortedRecords = records
                    .GroupBy(o => o[0])
                    .Select(g => g.OrderBy(d => d[3]))
                    .SelectMany(g=>g)
                    .ToList();

那么,您期望的输出是什么,您得到的是什么?没有足够的详细信息可供参考。我编辑了它的记录,我首先声明了这些记录。我希望记录按[0]元素分组,并按每个元素中的[3]元素排序group@Damith你能解释一下吗。?