可能重复:
如何使用LINQ Contains(string[])而不是Contains
假设我有以下类和对象:
class Product
{
public int ProductId { get; set; }
public string ProductDesc { get; set; }
}
string[] arrayString = new string []{"A", "B", "C", "D"};
List<Product> products = new List<product>();
这个代码是吗
var filteredProducts = new List<product>();
foreach(var searchString in arrayString)
{
filteredProducts.Union(Products.Where(p => p.ProductDesc.Contains(searchString)));
}
相当于:
var filteredProducts = products.Where(p => p.ProductDesc.Contains(arrayString.Select(s => s).ToString()));
如果不是这样,如何使用LINQ重写第一个代码片段?
否,等效的LINQ形式是
var filteredProducts = products.Where(p =>
arrayString.Any(s => p.ProblemDesc.Contains(s));
大声说话:
选择
arrayString
中有任何一个字符串的所有产品包含在产品的CCD_ 2中。