ListのSort

C#3.0ではLINQを使用すればOKだと思うが、2.0の場合は以下のようにできるらしい。

List<Date> dates = new List<Date>();
dates.Add(new Date("2008/03/19 15:33:40"));
dates.Add(new Date("2008/03/10 11:33:54"));
dates.Add(new Date("2007/10/11 10:02:37"));
dates.Add(new Date("2007/01/11 16:09:37"));
dates.Add(new Date("2008/01/10 14:33:54"));
dates.Sort(delegate(Date x, Date y) {
    DateTime time1 = DateTime.Parse(x.date);
    DateTime time2 = DateTime.Parse(y.date);
    TimeSpan total = time1 - time2;
    return (int)total.TotalSeconds;
});

IComparable か IComparer を使用しないと出来ないと思っていた。これはかなり便利。