我想要一个ID的索引列表,按我班级中的特殊属性排序.
SortedList,不这样做,因为它迫使我按键排序......
让我们说我的课就是
class example{
int Id;
int Order
}
Run Code Online (Sandbox Code Playgroud)
是否有任何结构像字典一样被索引,并由其他东西排序?
这样我就可以通过ID访问数据,但是在foreach中,数据按Order排序
据我所知,没有任何Dictionary类型对象可以立即提供这种行为。
如果您只担心在foreach循环中按指定顺序访问那么为什么不使用呢LINQ?
SortedList<int, example> sortedList = new SortedList<int, example>();
... //populate list
var sortedByOrder = from kp in sortedList
orderby kp.Value.Order
select kp;
foreach (var kp in sortedByOrder)
{
... //access will be ordered by example.Order
}
Run Code Online (Sandbox Code Playgroud)
是的,你会付出性能上的代价,但如果这不是问题,恕我直言,这是获得你想要的东西的最简单方法。
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |