我有以下业务对象:
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 项)
如果你有这样的情况:
List<ItemBO> items;
List<ItemCategoryBO> categories;
并且您希望获取类别列表中包含某个类别的所有项目,您可以使用以下命令:
IEnumerable<ItemBO> result = items.Where(item =>
categories.Any(category => category.ItemCategory.equals(item.ItemCategory)));
The Any()
运算符枚举源序列,并在某项满足谓词给出的测试时立即返回 true。在这种情况下,如果类别列表包含 ItemCategoryBO,且其 ItemCategory 字符串与项目的 ItemCategory 字符串相同,则返回 true。
有关它的更多信息MSDN http://msdn.microsoft.com/en-us/library/bb394939.aspx#standardqueryops_topic15
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)