在.NET中是否有实现“set”行为的通用容器?
我知道我可以使用Dictionary<T, Object>
(可能还添加null
作为值),因为它的键充当集合,但我很好奇是否有现成的东西。
在.NET中是否有实现“set”行为的通用容器?
我知道我可以使用Dictionary<T, Object>
(可能还添加null
作为值),因为它的键充当集合,但我很好奇是否有现成的东西。
HashSet<T>
in .NET 3.5
在.NET 3.5中引入了:HashSet<T>
(见下文)。
在.NET 4.0中引入了:ISet<T>
:
提供了用于集合抽象的基本接口。该接口提供了实现集合的方法,集合是具有唯一元素和特定操作的集合。
该接口在.NET 4+ BCL中有两个实现:
...提供高性能的集合操作。集合是不包含重复元素且元素没有特定顺序的集合。
表示按排序顺序维护的对象集合。 SortedSet(Of T) 在插入和删除元素时保持排序顺序,而不会影响性能。不允许重复元素。
顺便提一下:在命名空间System.Collections.Generic
下还有一个internal
的class TreeSet<T>: SortedSet<T>
。
它唯一的目的似乎是在实现SortedDictionary<TKey, TValue>
时使用。