C#列表 - 排序日期问题

jum*_*ojs 1 c# sorting date

我有一个C#list集合,我正在尝试排序.我正在尝试排序的字符串是日期"10/19/2009","10/20/2009"等等.我列表中的排序方法将对日期进行排序,但问题是当一天有一个数字时,例如"10/2/2009".发生这种情况时,订单已关闭.它将是"2009年10月19日","2009年10月20日","2009年11月10日","2009年11月2日","11/21/2009"等.这是错误的排序,因为它看到两个大于10中的1.我怎么能纠正这个?

谢谢

Chr*_*nes 16

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

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

// TODO: fill the list

strings.Sort((x, y) => DateTime.Parse(x).CompareTo(DateTime.Parse(y)));
Run Code Online (Sandbox Code Playgroud)