对其中一个对象的属性排序对象列表

Joh*_*ith 2 .net c# list sortedlist

我有一个对象列表,List<MyObject>我希望根据其中一个属性对此列表进行排序MyObject.所以,例如

MyObject obj1, obj2, obj3 = new MyObject();
obj1.Value = 0.2;
obj2.Value = 2.2;
obj3.Value = 1.3;
Run Code Online (Sandbox Code Playgroud)

..列表的顺序<>将是

List[0] = obj2;
List[1] = obj3;
List[2] = obj1;
Run Code Online (Sandbox Code Playgroud)

我可以使用.NET本机函数执行此操作,还是必须编写自己的搜索?

Kam*_*ski 5

1选项OrderBy

yourList = yourList.OrderBy(x=>x.PropertyName).ToList();
Run Code Online (Sandbox Code Playgroud)

yourList = yourList.OrderByDescending(x=>x.PropertyName).ToList();
Run Code Online (Sandbox Code Playgroud)

2选项列表.Sort

yourList.Sort((x,y)=>x.PropertyName.CompareTo(y.PropertyName));
Run Code Online (Sandbox Code Playgroud)

yourList.Sort((x,y)=>-x.PropertyName.CompareTo(y.PropertyName));
Run Code Online (Sandbox Code Playgroud)