using System; using System.Linq; using System.Collections.Generic; public class Test { public static void Main() { List dates = new List(); for (int i = 1; i <= 10; i++) { dates.Add(new DateTime(2000 + i%3, i % 3 + 1, i % 10 + 1).ToString()); } dates.Add(new DateTime(2000,2,13).ToString()); dates.Add(new DateTime(2001,3,4).ToString()); var q1 = dates.OrderBy(d=>DateTime.Parse(d)); var q1WithDate = dates.OrderBy(d => DateTime.Parse(d).Date); var q1ThenThen = dates.OrderBy(d => DateTime.Parse(d).Year). ThenBy(d => DateTime.Parse(d).Month). ThenBy(d => DateTime.Parse(d).Day); Console.WriteLine(q1.SequenceEqual(q1WithDate)); Console.WriteLine(q1.SequenceEqual(q1ThenThen)); foreach(var item in q1) Console.WriteLine(item); var q2 = dates.OrderByDescending(d => DateTime.Parse(d)); var q2WithDate = dates.OrderByDescending(d => DateTime.Parse(d).Date); Console.WriteLine(q2.SequenceEqual(q2WithDate)); foreach(var item in q2) Console.WriteLine(item); } }