如何使用 LINQ 查询对象列表中的数组中的特定对象

本文关键字:对象 数组 列表 何使用 LINQ 查询 | 更新日期: 2023-09-27 18:33:10

>我有一个这样的对象列表:

var obj =
[
    {a : [{v:1},{x:1}] },
    {a : [{y:1},{t:2}] },
    {a : [{z:1},{s:3}] }
]

我只想选择具有元素列表的对象,并且其中至少有一个具有属性"x"。在这种情况下,我希望 {a : [{v:1},{x:1}] } 由 LINQ 返回。类似的东西

obj.Where(s => 
    foreach(var o in s.a){ 
        if(o.x) return true; 
    }
    return false;
)

如何使用 LINQ 查询对象列表中的数组中的特定对象

你正在寻找.Any()

obj.Where(s => s.a.Any(o => o.x)).ToList());