在C#中,我想检查多个键的字典

时间:2013-05-25 05:37:19

标签: c# dictionary

在做了很多教程后,我正在制作我的第一个程序。它或多或少是一个控制台程序,我在其中输入句子并执行操作。

我让它在关键字系统上工作,它可以删除少于3个字符的单词,并将其他所有内容添加到动态生成的字典中。

到目前为止,我一直在使用ContainsKey()一次检查一个密钥。我真正想做的是使用另一个字典,列表或数组来保存一串键来运行字典。

例如,如果我有一个问候列表:

{ "hi", "hey", "hello" }

我希望程序为每个程序输出相同的文本。对于我想要检查字典的每个单词,必须有一个更好的方法。

我已经对这个主题进行了一些网络搜索,我继续阅读一些名为if的内容,但说实话,这听起来超出了我的能力范围。还有另外一种方法可以做到这一点,还是应该加入IEqualityComparer并尝试用我不理解的东西混淆我的方式?

IEqualityComparer

注意:我得到了动态字典和单词解析器,我在网上找到了一个例子,并根据我的需要对其进行了修改。我不会自己想出它,但我觉得我理解其中的代码。

1 个答案:

答案 0 :(得分:1)

  

我真正想要做的是使用另一个字典,列表或者   数组,用于存放一串​​键以运行字典。

以下是使用一个包含密钥的字典的示例。多个值可以映射到同一个键。如果这不是你想要的,也许你可以澄清你究竟在挣扎什么?

Dictionary<string, string> keyLookup = new Dictionary<string, string>();
keyLookup["hey"] = "greeting";
keyLookup["hi"] = "greeting";
keyLookup["hello"] = "greeting";

Dictionary<string, int> wordLookup = new Dictionary<string, int>();
wordLookup["greeting"] = 1;

public int GetWordCount(string word)
{
    string foundKey = keyLookup[word];
    int numOccurences = wordLookup[foundKey];
    return numOccurences;
}