使用哈希表的不同值

时间:2012-01-08 00:53:18

标签: c# linq hashset

我喜欢在循环遍历值列表或字段时执行不同的值。

Dictionary<string, int> _ddistinctValues = new Dictionary<string, int>();

foreach(string _word in _words) {
 if(!_ddistinctValues.ContainsKey(_word)) {
    _ddistinctValues.Add(_word, 1);
 }
}

有没有更好的方法可以在不保存“1”整数值的情况下节省空间?我正在使用哈希表来更快地获得不同的值。也许哈希没有值的wordname,只是不同的键? C#中有一个类可以做到吗?

这不是一个大问题。只是想知道。

感谢。

3 个答案:

答案 0 :(得分:5)

只需使用LINQ并在列表中调用Distinct()即可。您可能希望将结果放入另一个列表中。

var distinctWords = _words.Distinct().ToList();

这将在内部使用HashSet<T>来确定您将感兴趣的集合的唯一性。

答案 1 :(得分:1)

是的,HashSet是适合你的课程。

答案 2 :(得分:1)

您正在寻找HashSet<string>