我有两个textbox
检索到的以下数据。我想按时间降序排序。我尝试使用词典,但我无法插入重复的值。任何想法?
ID time ID time
4 10 15 19
12 13 WANT SORTED BY TIME 12 13
15 19 ---->> 12 13
4 10 4 10
12 13 4 10
答案 0 :(得分:6)
字典不允许重复键,因此这不是您想要的,因为您的ID
值显然不是唯一键值。
创建一个类来保存您的数据,然后使用Linq的OrderByDescending对其进行排序:
public class MyTimeData {
public int ID { get; set; }
public int Time { get; set; }
}
var list = new List<MyTimeData>();
// Add items to the list
list = list.OrderByDescending(d => d.Time).ToList();
答案 1 :(得分:0)
yourList.OrderByDescending(x => x.Time);
答案 2 :(得分:0)
如果LINQ不可用或您感兴趣的话,另一个选项是SortedList
数据结构(您可以反转顺序使其下降,默认情况下是升序),您可以像这样使用:
public class MyTimeData {
public int ID { get; set; }
public int Time { get; set; }
}
var list = new SortedList<MyTimeData>();
// Add items to sorted list
// Reverse to make it descending
var listDescending = list.Reverse();
foreach (var item in listDescending)
{
// Do something with item
}