在做了很多教程后,我正在制作我的第一个程序。它或多或少是一个控制台程序,我在其中输入句子并执行操作。
我让它在关键字系统上工作,它可以删除少于3个字符的单词,并将其他所有内容添加到动态生成的字典中。
到目前为止,我一直在使用ContainsKey()
一次检查一个密钥。我真正想做的是使用另一个字典,列表或数组来保存一串键来运行字典。
例如,如果我有一个问候列表:
{ "hi", "hey", "hello" }
我希望程序为每个程序输出相同的文本。对于我想要检查字典的每个单词,必须有一个更好的方法。
我已经对这个主题进行了一些网络搜索,我继续阅读一些名为if
的内容,但说实话,这听起来超出了我的能力范围。还有另外一种方法可以做到这一点,还是应该加入IEqualityComparer
并尝试用我不理解的东西混淆我的方式?
IEqualityComparer
注意:我得到了动态字典和单词解析器,我在网上找到了一个例子,并根据我的需要对其进行了修改。我不会自己想出它,但我觉得我理解其中的代码。
答案 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;
}