我正在使用 Iesi.Collections.Generic.ISet,我想知道如何确定我是否可以依赖它。我正在使用 .NET 框架 4
问问题
94 次
1 回答
5
编辑:我以前没有使用Iesi.Collections
过(并且无法发现任何文档),但如果它意味着类似System.Collections.Generic.ISet<T>
,那么下面的答案仍然是相关的。如果在确实保证插入顺序的设置界面上,我会感到非常惊讶。
“集合”的概念本质上是无序的。除非您专门使用“插入顺序”集,否则不应依赖它。
尤其是:
HashSet<T>
很可能以一种难以预测的、特定于实现的方式改变顺序。SortedSet<T>
确实保证了订单-但它是元素顺序,而不是插入顺序。因此,如果您将 1, 5, 3, 6, 2 插入 aSortedSet<int>
然后对其进行迭代,您将得到 1, 2, 3, 5, 6
于 2013-04-26T14:47:42.483 回答