C#数据结构像字典但没有价值

Mar*_*nof 55 .net c# data-structures

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

Met*_*ght 85

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

  • 关于"HashSet"的一个有趣的观点 - 为什么"HashSet"?也就是说,为什么要提到类的*实现细节* - 它使用哈希表实现集合语义 - 在类的名称中?答案:因为"Set"是Visual Basic的一个关键字,这意味着在VB中,只要你使用它,你就不得不说Dim MySet为[Set] - yuck.这非常*容易出错; 最好使用次优名称而不是产生令人困惑的错误. (24认同)
  • 太棒了,我甚至都不知道这个,我总是做一个字典<TKey,bool>,然后把bool设置为true,当我做它时我总觉得很脏 (7认同)
  • 谢谢你的信息,埃里克.在pcampbell引用的网页上有关于此的讨论,但听到确认很好:-) (2认同)