【发布时间】:2014-09-16 10:05:59
【问题描述】:
我需要遍历一个包含字符串句子的列表,并从另一个列表中找到包含字符串单词的句子,并将它们添加到单独的列表中以进行显示。下面的代码多次打印出同一个句子,所以我想知道嵌套 foreach 循环的正确格式是什么?
List<string> sentenceList = new List<string>();
sentenceList.Add("Dog ate a bone");
sentenceList.Add("Cat had a ball and bone");
List<string> keywords = new List<string>();
keywords.Add("bone");
keywords.Add("Cat")
List<string> NewList = new List<string>();
foreach (string sentence in sentenceList)
{
foreach (string word in keywords)
{
if (sentence.Contains(word))
{
NewList.Add(sentence);
}
}
}
我得到的输出:
狗吃了骨头
猫有骨头和骨头
猫有骨头和骨头
我希望每个句子显然只出现一次,但为什么它会重复两次?我做错了什么?
【问题讨论】:
-
我被重复了,因为第二句话包含两个关键字(bone 和 Cat)。
标签: c# list loops foreach nested