I have a generic collection of type MyImageClass, and MyImageClass has an boolean property \"IsProfile\". I want to sort this generic list which IsProfile == true stands at the
You can use .OrderByDescending(...) - but note that with the LINQ methods you are creating a new ordered list, not ordering the existing list.
If you have a List and want to re-order the existing list, then you can use Sort() - and you can make it easier by adding a few extension methods:
static void Sort(this List source,
Func selector) {
var comparer = Comparer.Default;
source.Sort((x,y)=>comparer.Compare(selector(x),selector(y)));
}
static void SortDescending(this List source,
Func selector) {
var comparer = Comparer.Default;
source.Sort((x,y)=>comparer.Compare(selector(y),selector(x)));
}
Then you can use list.Sort(x=>x.SomeProperty) and list.SortDescending(x=>x.SomeProperty).