Collection / Dictionary.Count将不同的值返回到实际的元素数量?

时间:2015-01-12 20:57:39

标签: c# dictionary collections

我可能遗漏了一些明显的东西 - 但是当我在词典或集合上.Count时,我得到的错误计数与字典或集合中的实际元素数相比。

我的代码计算字符串中的字数,并返回Collection<KeyValuePair<string, uint>>

这是我的代码:

string myString = String.Format("Hello world this is test test test test hi");

var result = WordCounter.GetWordCollection(myString);

result.Dump(); //Using LINQPad .Dump() method

Console.WriteLine ("Counted {0} words in {1}ms", result.Count, stopwatch.Elapsed.Milliseconds);

foreach (var word in result)
{
    Console.WriteLine ("{0} - {1}", word.Key, word.Value);
}

结果:

enter image description here

出了什么问题?

编辑:我正在计算唯一单词的数量而没有意识到它,就像评论/答案所说的那样。我需要使用result.Sum(n => n.Value)

1 个答案:

答案 0 :(得分:1)

它工作正常 - 字典中有七个键,每个键都有一个值,表示它们在源文本中的次数。数量为7意味着有七个独特的单词。对这些值求和将为您提供包括重复在内的总字数。