我想问一下如何按日期时间排序列表。我有课程任务
public class tasks
{
public string name { get; set; }
/// <summary>
/// Datum narození
/// </summary>
public DateTime expires { get; set; }
.
.
.
}
班级数据
public class data
{
public List<tasks> tsk = new List<tasks>();
public data()
{
}
public void AddTask(string name, DateTime expires)
{
tasks ts = new tasks(name, expires.Date);
tsk.Add(ts);
}
在主程序中,我将数据存储在List中。
private data dt = new data();
dt.AddTask(textBox1.Text, dateTimePicker1.Value);
我想将数据写入listbox sortAscending。
答案 0 :(得分:2)
您可以使用LINQ进行排序,然后使用AddRange将其放入列表框中:
MyList m = new MyList();
m.Add("n1", DateTime.Now);
m.Add("n2", DateTime.Now.AddDays(1));
m.Add("n3", DateTime.Now.AddDays(-1));
var sortedList = from i in m
orderby i.expires
select i;
listBox1.Items.AddRange(sortedList.ToArray());
答案 1 :(得分:0)
很难说MyLIst是如何定义的,但如果它是标准集合之一,那么它应该有效。
var result = MyList.OrderBy(x => x.expires).Select(x => x);