我有一个要排序的 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/