Collection/Dictionary.Count 返回一个与实际元素个数不同的值?

Collection/Dictionary.Count returning a different value to the actual number of elements?

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

我有计算字符串中单词数的代码,returns 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);
}

结果:

怎么了?

编辑:正如comment/answer 所说,我在无意中计算了唯一单词的数量。我需要使用 result.Sum(n => n.Value).

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