我正在尝试使用LINQ查询列表。
查询语句包含应与数组中的项匹配的条目。
换句话说,从SourceList获取与items数组中的任何一个项匹配的条目。 例如:
private List<string> GetSearchResult(List<string> SourceList,
string name, string[] items)
{
IEnumerable<string> QueryList = SourceList.Where
(entry => enrty.name == name && entry.id == <any item from items>)
}
我想过构建一个通过items数组循环的查询字符串。 我想知道是否有一种有效的方法。
答案 0 :(得分:4)
private List<string> GetSearchResult(List<string> SourceList,
string name, string[] items)
{
return SourceList.Where(entry => entry.name == name
&& items.Contains(entry.id))
}
答案 1 :(得分:2)
怎么样:
private List<string> GetSearchResult(List<string> SourceList,string name, string[] items)
{
List<string> QueryList = SourceList.Where
(entry => enrty.name == name && items.Any(m => m == entry.id.ToString()))
}
答案 2 :(得分:1)
private List<string> GetSearchResult(List<string> SourceList,string name, string[] items)
{
return SourceList.Where(entry => entry.name == name && items.Contains(entry.id)).ToList();
}
应该这样做。