public class A { public int x { get; set; } }
Тогда где-то, коллекция:
public List<A> aList { get; set; }
Теперь, как выбрать n объектов из этого списка на основе самых высоких значений x?
Как насчет LINQ:
var bestAs = aList.OrderByDescending(a => a.x).Take(n);