2013-12-17 136 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); 
相關問題