c# - 一个 Where() 子句中的多个 Any() LINQ

标签 c# linq

是否可以在一个 where() 子句中使用多个 Any()

例如,如果我需要获取最喜欢的啤酒,这个查询就可以完成工作:

var favouriteDrinks = drinks
     .Where(f => favouriteBeers
     .Any(d => d.drinkID == f.drinkID));

但是如果我需要获得最喜欢的啤酒和最喜欢的 Wine 怎么办?我正在寻找这样的东西:

var favouriteDrinks = drinks
    .Where(f => favouriteBeers.Any(d => d.drinkID == f.drinkID) || 
           f => favouriteWines.Any(d => drinkID == f.drinkID));

最佳答案

var favouriteDrinks = drinks
   .Where(f => favouriteBeers.Any(d => d.drinkID == f.drinkID) || 
               favouriteWines.Any(d => d.drinkID == f.drinkID));

关于c# - 一个 Where() 子句中的多个 Any() LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25376087/

相关文章:

c# - 如何从剪贴板中获取正确编码的 HTML?

c# - 使用 Linq 对 XML 进行复杂排序

c# - 从命令行解析器获取无效参数

c# - Windows8 - 在 C# 中使用本地化字符串

c# - 在转发器控件中获取选定的下拉列表值

c# - 如何尽可能简单地使用 Linq 从字典中选择多个值

javascript - 将此 LINQ 代码转换回循环(或为什么此对象有时为空)

c# - 在 C# 中,您可以在范围选择内执行范围选择吗?

c# - 为什么在 c# 和 vb.net 上运行时,该 linq 查询的 sql 查询不同?

C# 编译器缺陷? : Not detecting methods that always throw exceptions