Gib*_*boK 2 .net c# linq sorting list
可能重复:
排序自定义类列表<>
我有一个通用收集器List和一些代码CmsCategory以无序的方式添加到收集器.CmsCategory有领域int CategoryId和string Title.
List<CmsCategory> categories = new List<CmsCategory>();
categories.Sort();
Run Code Online (Sandbox Code Playgroud)
插入完成后,我需要将收集器中的所有对象排序CategoryId (ascending).
我收到此错误:
至少有一个对象必须实现IComparable.
我的问题:
我在这里使用List<T> 做错了什么?
您是否了解更适合此类操作的Generic Collector?
谢谢你的时间.
您可以使用该OrderBy()方法基于属性进行排序:
var sortedItems = categories.OrderBy(x => x.CategoryId);
Run Code Online (Sandbox Code Playgroud)
如果您需要列表中的项目,可以致电.ToList():
var sortedList = sortedItems.ToList();
Run Code Online (Sandbox Code Playgroud)
关于使用的一个很酷的事情OrderBy()是你也可以使用ThenBy()它来基于第二个(或第三个或第四个......)属性进行排序:
var reallySortedItems = categories.OrderBy(x => x.CategoryId).ThenBy(x => x.OtherProp);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2402 次 |
| 最近记录: |