you can use the general method:
public List<T> SortBy<T>(List<T> list, params Func<T, object>[] selectors) { var ordered = list.OrderBy(selectors[0]); for (int i = 1; i < selectors.Count(); i++) { ordered= ordered.ThenBy(selectors[i]); } return ordered.ToList(); }
run it:
SortBy(List, x=>x.name, x=>x.isHD, x=>x.isGood)
which will do:
List.OrderBy(x=>x.name).ThenBy(x=>x.isHD).ThenBy(x=>x.isGood)
can be improved by checking if the selector where passed
source share