我按日期排序文件有问题;这是我的示例代码:
string[] files = new string {"file1.txt", "file3.txt", "file4.txt"}
var list = new List<string> {"10/03/2015", "01/01/2015", "20/08/2015"};
list.Sort((a, b) => a.CompareTo(b));
我想在输出中输入按日期排序的所有文件,而不会丢失每个文件与其时间之间的顺序:
// file3.txt 01/01/2015
// file1.txt 10/03/2015
// file4.txt 20/08/2015
所以我的问题是如何根据文件来排序日期,谢谢:)
答案 0 :(得分:1)
使用Linq轻松完成。首先,Zip将您的两个集合放在一起并解析日期:
var filesAndDates = files
.Zip(list,
(filename,dateString) => new{filename,
date = DateTime.ParseExact(
dateString,
"dd/MM/yyyy",
CultureInfo.InvariantCulture)});
然后命令他们:
var orderedFilesAndDates = filesAndDates.OrderBy(x => x.date);
我发现自己想知道你是如何结束2&#34;同步&#34;东西清单。您可以创建复合类型并将它们保存在单个列表中。这样管理起来要容易得多......
答案 1 :(得分:0)
首先需要将值解析为DateTime类型,然后进行排序。