排序数据降序

时间:2013-08-13 18:34:46

标签: c# sorting

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

3 个答案:

答案 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
}