簡體   English   中英

按日期字符串c#排序listBox

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM