public class Person{
public string FirstName {get;set;}
public int Rank {get;set;}
public string LastName {get;set;}
}
List<person> personList = new List<person>();
personList.Add(new Person(){ FirstName="bob", Rank=2 });
personList.Add(new Person(){ FirstName="wob", Rank=1 });
personList.Add(new Person(){ FirstName="rob", Rank=4 });
var result = from v in (from p in personList
select p).OrderByDescending(x=>x.Rank)
select new
{
ResultValue = String.Format("{0} - {1}",v.FirstName,v.Rank)
};
This would result
rob - 4
bob - 2
wob - 1