按降序对数据排序

本文关键字:排序 数据 降序 | 更新日期: 2023-09-27 18:27:28

我从两个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

按降序对数据排序

Dictionaries不允许重复键,因此这不是您想要的,因为您的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();
yourList.OrderByDescending(x => x.Time);

如果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
}