0

我正在使用 Iesi.Collections.Generic.ISet,我想知道如何确定我是否可以依赖它。我正在使用 .NET 框架 4

4

1 回答 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 回答