C#使用LINQ对通用列表进行分组/排序

我期待分组和排序通用列表。 我有一个表示文件的对象列表,每个对象都有一个FileName,FileType和FileDate属性。 FileType定义为枚举。

我有一些工作代码,允许我按FileType将文件列表组合在一起。

var fileGroups = fileList.GroupBy(f=> f.FileType) foreach (var group in fileGroups ) { foreach (var file in group) { } } 

我希望能够做的是通过FileType枚举值对文件组进行排序,然后通过FileDate对fileGroups中的每个组进行排序。

 var sortedThing = fileGroups .OrderBy(g => g.Key) // (1) Order the groups .Select(g => g.OrderBy(f => f.FileDate)); // (2) Order *each* group 

您需要排序的组(1)和内部排序的每个组(2);