[英]Sort listBox by date string c#
我正在尝试按日期排序listBox项目,但不知道如何执行此操作。 我设法创建一个包含使用Regex的日期的字符串,但我不知道如何使用此字符串对listBox进行排序。 任何建议将不胜感激..请参阅下面的代码。
DirectoryInfo dir = new DirectoryInfo("../Debug/");
FileInfo[] files = dir.GetFiles("*.txt");
foreach (FileInfo file in files)
{
string dueDate = File.ReadAllText(file.Name);
Regex regex = new Regex(@"\d{2}/\d{2}/\d{4}");
Match mat = regex.Match(dueDate);
string duedate = mat.ToString();//string containing date
listBox1.Items.Add(file);
}
这是我接近它的方式:
DirectoryInfo dir = new DirectoryInfo(@"../Debug/");
FileInfo[] files = dir.GetFiles("*.txt");
Dictionary<FileInfo, DateTime> filesWithDueDate = new Dictionary<FileInfo, DateTime>();
foreach (FileInfo file in files)
{
string dueDate = File.ReadAllText(file.FullName);
Regex regex = new Regex(@"\d{2}/\d{2}/\d{4}");
Match mat = regex.Match(dueDate);
DateTime duedate = Convert.ToDateTime(mat.ToString());
filesWithDueDate.Add(file, duedate);
}
var sortedFiles = filesWithDueDate.OrderBy(a => a.Value).Select(b => b.Key.Name).ToArray();
listBox1.Items.AddRange(sortedFiles);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.