c# – IndexOf在列表中太慢.更快的解决方案?
发布时间:2020-12-15 04:02:00 所属栏目:百科 来源:网络整理
导读:我有通用列表,它必须是一个保留的顺序,所以我可以检索列表中的一个对象的索引. IndexOf的问题太慢了.如果我对IndexOf进行评论,代码就可以运行得很快.有没有更好的方法,例如c#的保留的有序哈希列表? 谢谢, 内特 编辑 – 添加/插入项目的顺序是它需要的顺序.
我有通用列表,它必须是一个保留的顺序,所以我可以检索列表中的一个对象的索引. IndexOf的问题太慢了.如果我对IndexOf进行评论,代码就可以运行得很快.有没有更好的方法,例如c#的保留的有序哈希列表?
谢谢, >编辑 – 解决方法
如果没有排序,但是顺序需要保留,那么你可以有一个单独的Dictionary< YourClass,int>其中将包含每个元素的索引.
如果你想排序列表,那么检查以前的帖子 – 你可以使用SortedList< Tkey,TValue>在.Net 3.5中,或者对旧版本的.NET版进行排序并使用BinarySearch. [编辑]您可以在网络上找到类似的例子,例如:OrderedList.这个内部使用了一个ArrayList和一个HashTable,但是你可以很容易地使它成为通用的. [Edit2] Ooops ..我给你的??例子没有按照我在开头描述的方式实现IndexOf …但是你得到的点 – 一个列表应该被排序,另一个用于快速查找. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |