【发布时间】:2016-03-31 19:36:49
【问题描述】:
假设我得到了一个列表作为输入:
IList<string> availableFruits = {orange, banana}
我有一个看起来像这样的水果实体:
public Fruit
{
public int ID { get; set; }
public string name { get; set; }
}
我们定义了一些水果:
var f1 = new Fruit { Id = 1, name = "apple" };
var f2 = new Fruit { Id = 2, name = "banana" };
var f3 = new Fruit { Id = 3, name = "orange" };
var f4 = new Fruit { Id = 4, name = "pineapple" };
最后,我们有一个菜单可以放这些水果:
public class Menu
{
public int ID { get; set; }
public ICollection<Fruit> fruits;
}
var menus = new List<Menu>
{
new Menu {ID = 0, fruits = new List<Fruit> { f1, f2 } },
new Menu {ID = 1, fruits = new List<Fruit> { f1, f3, f4 } },
new Menu {ID = 2, fruits = new List<Fruit> { f1, f4 } },
new Menu {ID = 3, fruits = new List<Fruit> { f2 } },
};
我需要一个 LINQ 查询,它在菜单中搜索并返回所有菜单,其中包含在可用水果列表中传递的“任何”水果。因此在这种情况下,它将返回 ID 为 0、1 和 3 的菜单。
【问题讨论】:
-
你有没有尝试过?发布您的努力以及不适合您的内容。
-
是的,我已经尝试了一些方法,但为了让问题易于理解而忽略了这些细节
-
您应该发布您尝试过的内容。 SO 不是在这里为您工作,而是帮助您摆脱困境。