如果我有以下型号;
public List<RecommendedProduct> recommendations
Run Code Online (Sandbox Code Playgroud)
然后
public class RecommendedProduct
public List<Product> Products
Run Code Online (Sandbox Code Playgroud)
然后是产品;
public class Product
public string Code
Run Code Online (Sandbox Code Playgroud)
该建议名单有,作为一个例子,在这10个项目.
每个推荐项目都有两个产品.
如何使用LINQ,找到包含"A"和"B"产品代码的产品的建议对象?
Aar*_*ght 11
使用Any扩展名:
var myProducts =
from rp in recommendations
where
cp.Products.Any(p => p.Product.Code == "A") &&
cp.Products.Any(p => p.Product.Code == "B")
select rp;
Run Code Online (Sandbox Code Playgroud)
Anytrue如果序列中的任何元素与内部条件匹配,则返回.在这种情况下,您正在搜索两个元素,因此需要两次Any调用.