To sort a List on multiple criteria, I’m currently doing something like:
collection.Sort((f1, f2) =>
{
var comp = f1.FirstCriteria.CompareTo(f2.FirstCriteria);
return comp != 0 ? comp : f1.SecondCriteria.CompareTo(f2. SecondCriteria);
});
But wouldn’t it be nice to be able to do something like:
collection.MultipleSort(f1.FirstCriteria, f2.FirstCriteria)
.Then(f1.SecondCriteria, f2.SecondCriteria)
Any ideas for a good implementation of a fluent interface for sorting?
You mean something like the following?