我需要一个像列表一样按顺序添加的集合。
集合也可能是可观察的。
.NET 4 中有这样的内置集吗?
最佳答案
据我所知,.NET 中没有这样的类型。我最近需要这个并最终自己实现了它;没那么难。
诀窍是结合Dictionary<T, LinkedListNode<T>>
用LinkedList<T>
.使用字典以 O(1) 时间查询键和值,并使用列表按插入顺序迭代。您需要字典而不是集合,因为您希望能够调用 LinkedList<T>.Remove(LinkedListNode<T>)
而不是 LinkedList<T>.Remove(T)
.前者时间复杂度为O(1),后者为O(n)。
关于c# - .NET 中设置的可观察顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32588943/