how to sort a collection by datetime in c#

c#, sorting

Solution

You seem to be working with a `List<T>` object, in which case the most efficient (and a simple) method would be the following:

myList.Sort((x, y) => DateTime.Compare(x.Created, y.Created));

This uses the overload of the List.Sort method than takes a `Comparison<T>` delegate (and thus lambda expression).

You can of course use the LINQ `OrderBy` extension method, but I don't think this offers any advantages, and can be significantly slower, depending on your situation.

myList = myList.OrderBy(x => x.Created).ToList();

Problem

I have a List that I need to sort by DateTime, the class MyStuff looks like: ``` public class MyStuff { public int Type {get;set;} public int Key {get;set;} public DateTime Created {get;set;} } ``` I need to be able to sort the collection List by the Created (DateTime) field.

Original source