【发布时间】:2009-07-02 17:40:37
【问题描述】:
我有一个必须是保留顺序的通用列表,以便我可以检索列表中对象的索引。问题是 IndexOf 太慢了。如果我将 IndexOf 注释掉,则代码会尽可能快地运行。有没有更好的方法,比如 preserved 用于 c# 的有序哈希列表?
谢谢, 内特
- 编辑 - 添加/插入项目的顺序是它需要的顺序。不需要对它们进行排序。此列表也有可能经常更新、添加、删除、插入。基本上我需要将对象转换为索引,因为它们在网格控件中表示,因此我可以根据索引对网格控件执行操作。
【问题讨论】:
-
代码?你在列表中存储什么?顺序重要吗?
-
您是要检索对象本身还是仅检索对象的索引?
-
关于你在做什么的更多细节?
-
您能说得更具体些吗?你在做什么让 indexOf 这么慢?您是否希望针对查找进行优化?您对插入/删除的速度要求是什么?您需要连续的项目集合吗?你能用 HashSet 代替吗?
-
Ordered表示已排序,还是表示必须保留顺序?
标签: c# list performance indexof