.net集合用于快速插入/删除

时间:2009-02-23 00:33:53

标签: c# .net collections

我需要维护一个非常短暂且频繁上下的连接客户名单。由于潜在的客户端数量,我需要一个支持快速插入/删除的集合。建议?

6 个答案:

答案 0 :(得分:29)

答案 1 :(得分:10)

考虑基于哈希的集合,例如: HashSetDictionaryHashTable,为添加和删除元素提供恒定的时间性能。

.NET Framework开发人员指南中的更多信息:

答案 2 :(得分:4)

那么,您需要查询多少钱?链接列表具有快速插入/删除(在任何位置),但不像(例如)字典/排序列表那样快速搜索。或者,在每个中具有位/值对的直列表 - 即“仍具有值”。只需在追加之前重新使用逻辑空单元格。删除只清除单元格。

对于参考类型,“null”将在此处执行。对于值类型,Nullable<T>

答案 3 :(得分:3)

您可以使用Hashtable或强类型字典&lt; Client&gt;。客户端类可能会覆盖GetHashCode以提供更快的哈希代码生成,或者如果使用Hashtable,您可以选择使用IHashCodeProvider。

答案 4 :(得分:1)

您如何找到客户?是否需要元组/字典?你很可能在Jeffrey Richter的Power Collections库中找到能解决问题的东西,它有列表,树,你可以想到的大多数数据结构。

答案 5 :(得分:1)

Channel9采访Peter Sestoft给我留下了非常深刻的印象:

channel9.msdn.com/shows/Going+Deep/Peter-Sestoft-C5-Generic-Collection-Library-for-C-and-CLI/

他是哥本哈根IT大学的教授,他帮助创建了The C5 Generic Collection Library:

www.itu.dk/research/c5/

它可能有点矫枉过正,或者它可能只是你正在寻找的快速收藏......

HTH,

-Mike