2013-12-17 3 views
2

У меня есть список объектов List<MyObject> и я хочу, чтобы этот список отсортирован по одному из свойств MyObject. Так, напримерСортировка списка объектов по одному из свойств объекта

MyObject obj1, obj2, obj3 = new MyObject(); 
obj1.Value = 0.2; 
obj2.Value = 2.2; 
obj3.Value = 1.3; 

..следующего порядок списка <> будет

List[0] = obj2; 
List[1] = obj3; 
List[2] = obj1; 

Может ли я сделать это с помощью функции .NET нативной или я должен написать свой собственный поиск?

ответ

5

1 Вариант OrderBy

yourList = yourList.OrderBy(x=>x.PropertyName).ToList(); 

убыванию

yourList = yourList.OrderByDescending(x=>x.PropertyName).ToList(); 

2 Вариант List.Sort

yourList.Sort((x,y)=>x.PropertyName.CompareTo(y.PropertyName)); 

убыванию

yourList.Sort((x,y)=>-x.PropertyName.CompareTo(y.PropertyName)); 
+0

, что он хочет это убывающий порядок –

+0

@JulieShannon ОК спасибо, отредактированы – wudzik

1

вы должны определить array для ваших объектов первой и попробовать это

MyObject[] myObjList = new MyObject[]{obj1,Obj2,Obj3}; 
    var myRes =myObjList.OrderByDescending(obj => obj.Value); 
Смежные вопросы