using System;
using System.Linq ;
using System.Collections .Generic ;
public class Test
{
public static void Main( )
{
List< string> dates = new List< string> ( ) ;
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) ;
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgTGlzdDxzdHJpbmc+IGRhdGVzID0gbmV3IExpc3Q8c3RyaW5nPigpOwoKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSAxMDsgaSsrKQogICAgICAgIHsKICAgICAgICAJZGF0ZXMuQWRkKG5ldyBEYXRlVGltZSgyMDAwICsgaSUzLCBpICUgMyArIDEsIGkgJSAxMCArIDEpLlRvU3RyaW5nKCkpOwogICAgICAgIH0KCgkJZGF0ZXMuQWRkKG5ldyBEYXRlVGltZSgyMDAwLDIsMTMpLlRvU3RyaW5nKCkpOwoJCWRhdGVzLkFkZChuZXcgRGF0ZVRpbWUoMjAwMSwzLDQpLlRvU3RyaW5nKCkpOwoJCQogICAgICAgIHZhciBxMSA9IGRhdGVzLk9yZGVyQnkoZD0+RGF0ZVRpbWUuUGFyc2UoZCkpOwogICAgICAgIHZhciBxMVdpdGhEYXRlID0gZGF0ZXMuT3JkZXJCeShkID0+IERhdGVUaW1lLlBhcnNlKGQpLkRhdGUpOwogICAgICAgIHZhciBxMVRoZW5UaGVuID0gZGF0ZXMuT3JkZXJCeShkID0+IERhdGVUaW1lLlBhcnNlKGQpLlllYXIpLgogICAgICAgIAlUaGVuQnkoZCA9PiBEYXRlVGltZS5QYXJzZShkKS5Nb250aCkuCiAgICAgICAgCVRoZW5CeShkID0+IERhdGVUaW1lLlBhcnNlKGQpLkRheSk7CiAgICAgICAgCiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUocTEuU2VxdWVuY2VFcXVhbChxMVdpdGhEYXRlKSk7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUocTEuU2VxdWVuY2VFcXVhbChxMVRoZW5UaGVuKSk7CiAgICAgICAgCiAgICAgICAgZm9yZWFjaCh2YXIgaXRlbSBpbiBxMSkgCiAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKGl0ZW0pOwoKICAgICAgICB2YXIgcTIgPSBkYXRlcy5PcmRlckJ5RGVzY2VuZGluZyhkID0+IERhdGVUaW1lLlBhcnNlKGQpKTsKICAgICAgICB2YXIgcTJXaXRoRGF0ZSA9IGRhdGVzLk9yZGVyQnlEZXNjZW5kaW5nKGQgPT4gRGF0ZVRpbWUuUGFyc2UoZCkuRGF0ZSk7CgogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHEyLlNlcXVlbmNlRXF1YWwocTJXaXRoRGF0ZSkpOwogICAgICAgIAogICAgICAgIGZvcmVhY2godmFyIGl0ZW0gaW4gcTIpIAogICAgICAgIAlDb25zb2xlLldyaXRlTGluZShpdGVtKTsKCX0KfQ==