public class ScratchComparer : IComparer<Scratch> { public int Compare(Scratch x, Scratch y) { return x.Foo.CompareTo(y.Foo).CompareTo(0.CompareTo(x.Bar.CompareTo(y.Bar))); } } [TestFixture] public class Scratch { public virtual int Foo { get; set; } public virtual int Bar { get; set; } [Test] public void Should_sort() { var scratches = new[] { new Scratch {Foo = 1, Bar = 1}, new Scratch {Foo = 2, Bar = 1}, new Scratch {Foo = 1, Bar = 1}, new Scratch {Foo = 1, Bar = 2} };
source share