【发布时间】:2010-10-14 00:34:09
【问题描述】:
.NET 3.5 中引入的HashSet 集合在使用foreach 进行迭代时是否保留插入顺序?
documentation 声明该集合未排序,但它没有说明插入顺序。预发布 BCL blog entry 声明它是无序的,但 this article 声明它旨在保留插入顺序。我有限的测试表明,该顺序被保留,但这可能是巧合。
【问题讨论】:
-
在我的电脑上
new HashSet<int>() { 6, 8 }.ToList()返回 [6,8] 但new HashSet<int>() { 8, 6 }.ToList()返回 [8,6] -
如果你需要这样的收藏,看看这个:github.com/OndrejPetrzilka/Rock.Collections