我有一个日期列表(格式为 yyyyMM
的字符串)如下:
201608
201609
201610
201708
201709
201710
我想将它们重新排序如下:
201608
201708
201609
201709
201610
201710
我想我可以颠倒字符串(即 016102
)来对它们进行排序但是显然当月 >= 10 时它会导致问题导致列表如下所示:
201610
201710
201608
201708
201609
201709
我尝试了以下方法:
MyList.OrderBy(n => string.Concat(n.datestring.Reverse())).Select(n => n);
有没有一种简洁的方法可以做到这一点(LINQ 会很好)?感谢您的帮助。
最佳答案
使用 LINQ,您按两位数月份然后是年份(和月份,但这无关紧要)排序:
var ans = src.OrderBy(s => s.Substring(4)).ThenBy(s => s);
关于c# - 以某种方式排序的日期列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53419895/