gpt4 book ai didi

c# - 按另一个列表过滤列表 C#

转载 作者:IT王子 更新时间:2023-10-29 04:15:11 25 4
gpt4 key购买 nike

我有以下业务对象:

    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)));

Any() 运算符枚举源序列并在项目满足谓词给出的测试时立即返回 true。在这种情况下,如果类别列表包含一个 ItemCategoryBO,它的 ItemCategory 字符串与项目的 ItemCategory 字符串相同,则返回 true。关于它的更多信息 MSDN

关于c# - 按另一个列表过滤列表 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10745900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com