2013-12-17 138 views
2

我有一个对象列表List<MyObject>,我希望根据MyObject的属性之一对列表进行排序。因此,例如对象的属性列表排序

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

名单<的..the顺序>将

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); 
相关问题