使用DateTime进行IComparable排序

时间:2014-07-31 18:28:24

标签: c# datetime

我之前有一个类似的问题,然后我的老板告诉我根据日期对它进行排序,所以我又来了。 我有这个 -

    List<User> users;
    protected class User : IComparable<User>
    {
    public string name;
    public string email;
    public decimal total;
    public string address;
    public string company;
    public string placed;
    public string fulfilled;
    public string origin;
    public int CompareTo(User b)
    {
        // Alphabetic sort name[A to Z]
        return this.placed.CompareTo(b.placed);

    }
}

我的日期时间格式是MM / DD / YYYY,因此按月计算,而不是整个月。根据完整日期对其进行排序的最佳方法是什么?谢谢!

1 个答案:

答案 0 :(得分:4)

您知道这是一个约会,那么为什么要将其存储为string?使用专用的DateTime类型。它将按预期工作。

如果由于某种原因无法将字段更改为DateTime,则可以随时执行以下操作

public int CompareTo(User b)
{
    DateTime x = DateTime.ParseExact(this.placed,...);
    DateTime y = DateTime.ParseExact(b.placed,...);
    return x.CompareTo(y);
}