多属性排序

sunboy_yf 2012-05-10 11:21:23
有一个ArrayList 里面存放的实体 Item

想通过 Item.Id 和 Item.Type

两个属性来排序。C#中如何实现那。

谢谢。
...全文
116 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mabaolin 2012-05-10
  • 打赏
  • 举报
回复
item实现IComparable接口
NewUser2008 2012-05-10
  • 打赏
  • 举报
回复
var sorted = from item in items orderby item.Id ascending,item.Type descending select item;


或者重写sort()
ZXY900213 2012-05-10
  • 打赏
  • 举报
回复
可以按一楼的大哥说的那样做。
也可以把他转换成数组或者List<T>,然后再用排序,这样就有很多方法了。。
例如用Linq:

System.Collections.ArrayList arrList = new System.Collections.ArrayList();
//省略添加数据的步骤。
// ...

// 转换成数组
Item[] items = (Item[])(arrList.ToArray(typeof(Item)));
// 然后再使用Linq排序
var sorted = from item in items orderby item.Id ascending,item.Type descending select item;

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧