使用Linq而不是Icomparable

使用Linq而不是Icomparable,linq,Linq,每天晚上,我几乎同时收到三张excel表格 它们的名称是:Open(todaysDate).xls、Closed(todaysDate).xls和Modified(todaysDate).xls 然后我将所有这些文件读入我的应用程序。有时我一周读一次,所以我需要对所有的文件进行排序,以便它们按正确的顺序同步。 我设法用Icomparable实现了一个排序函数,但我希望它能与Linq一起工作 因此,我的问题是如何编写Linq查询来对列表进行排序,首先是条件日期(创建时),然后是名称(我希望顺序是:

每天晚上,我几乎同时收到三张excel表格

它们的名称是:Open(todaysDate).xls、Closed(todaysDate).xls和Modified(todaysDate).xls

然后我将所有这些文件读入我的应用程序。有时我一周读一次,所以我需要对所有的文件进行排序,以便它们按正确的顺序同步。 我设法用Icomparable实现了一个排序函数,但我希望它能与Linq一起工作

因此,我的问题是如何编写Linq查询来对列表进行排序,首先是条件日期(创建时),然后是名称(我希望顺序是:打开、修改、关闭)


谢谢你的帮助

将日期解析为DateTime,然后可以在DateTime上使用OrderBy,然后可以将Open、Modified、Closed转换为整数1、2、3,并对其执行ThenBy操作

var fileList = readInList()
    .SortBy(file => ParseDate(file))
    .ThenBy(file => ParseType(file));

您所要做的就是编写函数ParseDate和ParseType

谢谢您的回答,如果您有时间,您最好如何高效地编写解析?