多属性排序,该怎么处理
多属性排序
有一个ArrayList 里面存放的实体 Item
想通过 Item.Id 和 Item.Type
两个属性来排序。C#中如何实现那。
谢谢。
------解决方案--------------------
item实现IComparable接口
------解决方案--------------------
可以按一楼的大哥说的那样做。
也可以把他转换成数组或者List<T>,然后再用排序,这样就有很多方法了。。
例如用Linq:
有一个ArrayList 里面存放的实体 Item
想通过 Item.Id 和 Item.Type
两个属性来排序。C#中如何实现那。
谢谢。
------解决方案--------------------
item实现IComparable接口
------解决方案--------------------
可以按一楼的大哥说的那样做。
也可以把他转换成数组或者List<T>,然后再用排序,这样就有很多方法了。。
例如用Linq:
- C# code
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;