11

.NET 中是否有实现“设置”行为的通用容器?

我知道我可以只使用 a Dictionary<T, Object>(并且可能添加nulls为值),因为它的键充当一个集合,但我很好奇是否有现成的东西。

4

3 回答 3

20

HashSet<T>在 .NET 3.5 中

于 2008-12-09T19:27:24.700 回答
3

我使用 Iesi.Collections。NHibernate 附带的命名空间(此处的文档) - 如果您在 .NET < 3.5 中,可能值得考虑

于 2008-12-09T19:31:01.620 回答
2

在 .NET 3.5 中引入:( HashSet<T>见下文)。

在 .NET 4.0 中引入ISet<T>

为集合的抽象提供基本接口。该接口提供了实现集合的方法,集合是具有独特元素和特定操作的集合。

该接口在 .NET 4+ BCL 中有两个实现:

  • HashSet<T>

    ...提供高性能的集合操作。集合是不包含重复元素且其元素没有特定顺序的集合

  • SortedSet<T>

    表示按排序顺序维护的对象集合。SortedSet(Of T) 在插入和删除元素时保持排序顺序,而不会影响性能。不允许重复元素。

FWIW:命名空间下还有一个。 它的唯一目的似乎是在.internal class TreeSet<T>: SortedSet<T>System.Collections.Generic
SortedDictionary<TKey, TValue>

于 2013-10-02T16:06:54.867 回答