【发布时间】:2013-11-21 12:15:13
【问题描述】:
我有一个 WordCount 类,它有字符串 wordDic 和 int 计数。接下来,我有一个列表。
我有另一个列表,里面有很多单词。我正在尝试使用 List 来计算 List 中每个单词的出现次数。
下面是我卡住的地方。
class WordCount
{
string wordDic;
int count;
}
List<WordCount> usd = new List<WordCount>();
foreach (string word in wordsList)
{
if (usd.wordDic.Contains(new WordCount {wordDic=word, count=0 }))
usd.count[value] = usd.counts[value] + 1;
else
usd.Add(new WordCount() {wordDic=word, count=1});
}
我不知道如何在代码中正确实现这一点,但我正在尝试搜索我的列表以查看 wordsList 中的单词是否已经存在,如果存在,则将 1 添加到计数中,但如果不存在则插入它在 usd 中,计数为 1。
注意: *我必须使用列表来执行此操作。我不允许使用其他任何东西,比如哈希表...*
【问题讨论】:
-
首先,当你想使用
word(我假设)时,你在循环中使用usd。您不能使用usd,因为List没有wordDic属性。二、count是什么类型?您为其分配一个字符串,然后将其分配为int。 -
是的,对于计数,我认为它应该为空,因为它是一个整数而不是字符串,但其余的东西我真的很困惑。 usd 是我的字典,而 wordsList 是我正在搜索的填充文本。 usd 保存单词以及每个单词的计数。查看我的更新。
-
int不可为空。最好让它默认为 0。 -
@TheDude 我现在设置了正确的值 0 但我仍然不知道如何将 1 添加到与 wordList 中的 word 具有相同 wordDic 的 usd 对象。
-
@TheDude 您的解决方案正是我想要的。其他人都在建议其他方法,但我明确表示我不能使用列表以外的任何东西......我在代码的“其他”部分中的代码语法有一些错误。我认为括号没有正确关闭。