Linq to Objects - 在列表中搜索的位置

标签 linq

Linq to Objects - 在列表中搜索<​​/p>

    internal class ProdQtyByWarehouse
    {
        public int id { get; set; }
        public List<ProdWarehouseQty> ProdWarehouseQtys { get; set; }
    }

    internal class ProdWarehouseQty
    {
        public int id { get; set; }
        public string PName { get; set; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        var list1 = new List<ProdWarehouseQty>
                        {
                            new ProdWarehouseQty
                                {
                                    id = 3,
                                    PName = "list1PN1"
                                },
                            new ProdWarehouseQty
                                {
                                    id = 4,
                                    PName = "list1PN2"
                                }

                        };
        var list2 = new List<ProdWarehouseQty>
                        {
                            new ProdWarehouseQty
                                {
                                    id = 5,
                                    PName = "list2PN1"
                                },
                            new ProdWarehouseQty
                                {
                                    id = 6,
                                    PName = "list2PN2"
                                }

                        };
        var prodQtyByWarehouses = new List<ProdQtyByWarehouse>
                                      {
                                          new ProdQtyByWarehouse {id = 1, ProdWarehouseQtys = list1},
                                          new ProdQtyByWarehouse {id = 1, ProdWarehouseQtys = list2}

                                      };
        List<int> integers = new List<int>{2,3,4,6};

        List<ProdQtyByWarehouse> list =
            (from c in prodQtyByWarehouses
             where c.ProdWarehouseQtys.Contains(new ProdWarehouseQty {id = 3})
             select c).ToList(); // no object is returned
    }

我怎样才能实现:

List<ProdQtyByWarehouse> list =
            (from c in prodQtyByWarehouses
             where c.ProdWarehouseQtys.Contains(new ProdWarehouseQty {id in integers})
             select c).ToList();

最佳答案

List<ProdQtyByWarehouse> list =
    (
        from c in prodQtyByWarehouses
        where c.ProdWarehouseQtys.Exists(x => integers.Contains(x.id))
        select c
    ).ToList();

关于Linq to Objects - 在列表中搜索的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771709/

相关文章:

c# - LINQ WHERE 日期问题

.NET LINQ IQueryable : what is `Expression` for?

c# - LINQ,跳过并接受排序

linq - 不区分大小写的包含动态 Linq

c# - 使用外部 SQL Server 2008 R2 更新 linq 中的语句

c# - 序列不包含匹配元素

c# - LINQ 中的嵌套匿名类型

c# - .Cast 优于 .Select 有什么好处?

c# - 为什么我的字符串在凯撒密码期间发生变化?

c# - 获取 COUNT 时 Linq Select 语句变慢