C# 从字符串数组排序日期

C# 从字符串数组排序日期,c#,arrays,string,date,C#,Arrays,String,Date,如果我有日期,如2011年5月23日、2012年3月17日、2010年7月1日等,在字符串数组中,是否可以先对年进行排序,然后再对月进行排序,而不是先对天进行排序?您可以将它们解析为日期时间首先: var orderedByDateTime = strings .Select(s => new { s, dt = DateTime.ParseExact(s, "dd'/'MM'/'yyyy", null) }) .OrderBy(x => x.dt) .Sel

如果我有日期,如2011年5月23日、2012年3月17日、2010年7月1日等,在字符串数组中,是否可以先对年进行排序,然后再对月进行排序,而不是先对天进行排序?

您可以将它们解析为
日期时间
首先:

var orderedByDateTime = strings
    .Select(s => new { s, dt = DateTime.ParseExact(s, "dd'/'MM'/'yyyy", null) })
    .OrderBy(x => x.dt)
    .Select(x => x.s);

如果它们在一个字符串数组中,那么它们就是字符串(不是日期),因为字符串数组可以……嗯,你知道是的,但是首先你应该问问自己,字符串数组是否应该是字符串数组而不是日期时间数组。