我有以下业务对象:
public class ItemCategoryBO
{
public string ItemCategory { get; set; }
public string Title { get; set; }
}
public class ItemBO
{
public int ItemId { get; set; }
public string Title { get; set; }
public string ItemCategory { get; set; }
}
List<ItemCategoryBO> categoryList = new List<ItemCategoryBO>();
ItemCategoryBO itemCategory = new ItemCategoryBO();
itemCategory.ItemCategoryCd = "CARS";
itemCategory.Title = "Cars";
ItemCategoryBO itemCategory2 = new ItemCategoryBO();
itemCategory.ItemCategoryCd = "PLANES";
itemCategory.Title = "Planes";
categoryList.Add(itemCategory);
categoryList.Add(itemCategory2);
List<ItemBO> itemList = new List<ItemBO>();
ItemBO item1 = new ItemBO();
item1.ItemId = 1;
item1.Title = "1st item";
item1.ItemCategoryCd = "OTHER";
ItemBO item2 = new ItemBO();
item2.ItemId = 2;
item2.Title = "2nd Item";
item2.ItemCategoryCd = "CARS";
ItemBO item3 = new ItemBO();
item3.ItemId = 3;
item3.Title = "3rd Item";
item3.ItemCategoryCd = "PLANES";
itemList.Add(item1);
itemList.Add(item2);
itemList.Add(item3);
如果我有一个包含几个类别的列表,我如何在类别列表中找到包含某个类别的项目列表呢?(在我的示例中,我想返回项目2和3)
5条答案
按热度按时间vdgimpew1#
如果您遇到以下情况:
并且您希望获取类别在您的类别列表中的所有项目,则可以使用以下方法:
Any()
运算符枚举源序列,并在项满足 predicate 给定的测试时返回true。在这种情况下,如果类别列表包含ItemCategoryBO,且其ItemCategory字符串与项的ItemCategory字符串相同,则该运算符返回true。有关此运算符的详细信息,请访问MSDNpkbketx92#
尝试使用一些链接
pbpqsu0x3#
这是我在Linqpad中做的事情
这会传回:
odopli944#
试试这个:
更新以解决OP的更新问题:
如果我有一个包含几个类别的列表,我如何在类别列表中找到包含某个类别的项目列表呢?(在我的示例中,我想返回项目2和3)
我认为你应该分两步来做。首先,得到你独特的项目列表。然后,从你的项目中得到你的类别列表。所以:
tez616oj5#
希望这对您有所帮助: