我一直在做一个项目,我需要遍历数据集合并删除“主键”重复的条目。我试过使用一个
List<int>
和
Dictionary<int, bool>
我发现字典的性能稍好一些,尽管我从不需要为每个条目标记 bool 值。我的期望是这是因为 List 允许索引访问而 Dictionary 不允许。我想知道的是,是否有更好的解决方案来解决这个问题。我不需要再次访问条目,我只需要跟踪我看到的“主键”并确保我只对具有新主键的条目执行添加工作。我正在使用 C# 和 .NET 2.0。而且我无法控制修复输入数据以从源中删除重复项(不幸的是!)。因此,您可以感受到缩放,总的来说,我在应用程序中检查重复项大约 1,000,000 次,但在不超过大约 64,000 次的子集中需要唯一。
最佳答案
他们在 .NET 3.5 中添加了 HashSet 类。但我想它会与词典相提并论。如果您的元素少于 100 个,列表的性能可能会更好。
关于c# - 检查重复项时的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/91933/