所以,我只是在Reflector周围挖掘,试图找到HashSet的实现细节(出于纯粹的好奇心,基于这里对另一个问题的回答),并注意到以下内容:
internal class TreeSet<T> : ICollection<T>, IEnumerable<T>, ICollection,
IEnumerable, ISerializable, IDeserializationCallback在不深入细节的情况下,它看起来像是一个自平衡的二进制搜索树。
我的问题是,有没有人知道为什么这个类是internal?仅仅是因为其他集合类型在内部使用了它,并且对通用masses...or隐藏了BST的复杂性,我就大错特错了吗?
发布于 2010-03-16 22:53:48
公开公开一个类型比仅仅在内部公开它涉及更多的工作-这意味着你必须绝对确定你不想在以后对API进行重大更改,你必须彻底地记录它,等等。
如果在未来的版本中发现TreeSet<T>,我不会感到惊讶,但对于微软来说,在公开一些东西之前保持谨慎是有意义的。
(顺便说一下,我认为.NET 4中的SortedSet<T>基本上是一个树集。)
https://stackoverflow.com/questions/2455352
复制相似问题