C# lists - 排序日期问题

标签 c# sorting date

我有一个要排序的 C# 列表集合。我要排序的字符串是日期“10/19/2009”、“10/20/2009”...等。我列表中的排序方法将对日期进行排序,但问题是一天只有一位数字,例如“10/2/2009”。发生这种情况时,命令将关闭。它将显示为“10/19/2009”、“10/20/2009”、“11/10/2009”、“11/2/2009”、“11/21/2009”等。这是对它们的排序错误,因为它认为两者大于十分之一。我该如何纠正这个问题?

谢谢

最佳答案

问题是它们是字符串,但您想按日期对它们进行排序。在比较之前使用将它们转换为日期的比较函数。像这样:

List<string> strings = new List<string>();

// TODO: fill the list

strings.Sort((x, y) => DateTime.Parse(x).CompareTo(DateTime.Parse(y)));

关于C# lists - 排序日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1597021/

相关文章:

c# - XML 文件而不是 XML 字符串

c# - 考虑数字的字符串比较

java - 如何在MySQL中存储时间

c# - 解释为什么 "using"在服务中不起作用?

c# - 如何在 C# 中将其更改为 String.Format

python - 如何自定义排序字母数字列表?

java - Linux 和 OSX 以及 Android 根据区域设置的排序不一致

java - Java 8 API 上是否有一个函数可以计算两个日期(包括两者)之间的天数?

php - 仅当有多个记录时才选择记录

c# - MVC 验证低于/高于其他值