2009-09-01 68 views
48

C#中是否有任何像字典一样的数据结构,但只有一个键并且没有值。我基本上想要一个可以快速查找的整数列表,并查看某个值是否在列表中。当然,对于我目前的使用,列表不会导致任何性能问题,但它似乎不符合我的代码的意图。C#数据结构像字典但没有值

回答

73

是的,它被称为HashSet<T>,并在.NET框架的3.5版中提供。如果使用.NET版本2.0,则可以使用字典并将值设置为 null

+1

请注意,在.NET Framework 3.5中引入了Hashset 。如果您使用的是早期版本,我想使用字典并将所有值设置为空。 – codeape 2009-09-01 18:00:56

+0

.NET 2.0中的另一种方法是使用'KeyedCollection',并将键提取方法定义为值标识。 – 2009-09-01 18:01:28

+0

关于使用hashset的更多信息:http://bit.ly/1FYcf – 2009-09-01 18:02:04

0

或使用排序列表,其中值必须是唯一的

4

如果3.5是不是你可以做类似字典< INT,INT>和根本无视值的选项。我在2.0中完成了这个工作,我倾向于将该值设置为与密钥相同。

2

如果你不是针对.NET 3.5,Power Collections(开源)也提供了一个Set实现。