由于某种原因,我无法完全理解这一点。
假设我们有一堂课Foo
public class Foo
{
public string Name {get;set;}
}
我们有一个通用列表。我想搜索通用列表并从字符串列表中挑选出那些Name
包含任何字符串的列表。
所以像
var source = GetListOfFoos();//assume a collection of Foo objects
var keywords = GetListOfKeyWords();//assume list/array of strings
var temp = new List<Foo>();
foreach(var keyword in keywords)
{
temp.AddRange(source.Where(x => x.Name.Contains(keyword));
}
这里的问题是 a) 循环(我觉得不是最佳)和 b) 每个对象可能出现多次(如果名称是“Rob StackOverflow”并且有关键字“Rob”和关键字“Stackoverflow”) .
我想我可以打电话Distinct()
,但又一次,感觉不是最理想的。
我认为我错误地处理了这个问题 - 我做错了什么?