一尘不染

如何在C#中按特定字段对对象列表进行排序?

c#

我有这个课:

public class StatInfo
{
  public string contact;
  public DateTime date;
  public string action;
}

那么我有一个StatInfo列表,但是我不确定如何根据日期字段对它进行排序。我应该使用排序方法吗?我应该创建自己的吗?

var _allStatInfo = new List<StatInfo>();
// adding lots of stuff in it
_allStatInfo.SortByDate???

无需编写大量代码(如果可能的话)的最佳方法是什么?

谢谢


阅读 409

收藏
2020-05-19

共1个答案

一尘不染

使用LINQ:

var sortedList = _allStatInfo.OrderBy(si => si.date).ToList();

排序原始列表:

_allStatInfo.Sort(new Comparison<StatInfo>((x, y) => DateTime.Compare(x.date, y.date)));
2020-05-19