请确保日期字符串是正确的格式。
July-2016
应该
Jul-2016
下面是排序按日期降序工作样例
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Globalization;
public class TestSortDateStrings
{
public static void Main()
{
var monthList = new List<string> {"Apr-2016", "Aug-2015", "Nov-2015", "Oct-2015", "Sep-2015", "Jul-2016"};
var sortedMonths = monthList
.Select(x => new { month = x, Sort = DateTime.ParseExact(x, "MMM-yyyy", CultureInfo.InvariantCulture) })
.OrderByDescending(x => x.Sort)
.Select(x => x.month)
.ToList();
foreach(var m in sortedMonths)
{
Console.WriteLine(m);
}
}
}
,你会得到相同的结果,如果你首先按年份,然后按月份
.OrderByDescending(x => x.Sort.Year)
.ThenByDescending(x => x.Sort.Month)
产量为
Jul-2016
Apr-2016
Nov-2015
Oct-2015
Sep-2015
Aug-2015
您需要按年份和月份订购,不是吗? –
你确定它应该只按月(x.Sort.Month)排序,而不是整个DateTime字段(x.Sort)? – oryol
'Array.Sort()','IComparer'? –