using System.Collections.Generic;
public static void Main()
var startDateComparer = Comparer<Foo>.Create((a, b) => a.start.CompareTo(b.end));
SortedSet<Foo> sortedSet = new SortedSet<Foo>(startDateComparer);
var i1 = new Foo(){ id = "1", start = DateTime.Now, end = DateTime.Now.AddMinutes(1)};
var i2 = new Foo(){ id = "2", start = DateTime.Now, end = DateTime.Now.AddMinutes(1)};
foreach(var item in sortedSet)