使用C#Linq查询嵌套对象

使用C#Linq查询嵌套对象,c#,powershell,C#,Powershell,我有一个PowerShell对象,希望筛选结果 public Collection<PSObject> Groups; 然而,我需要深入到另一个层次。在PowerShell中,这很容易: $x.AgentsByUri.AbsoluteUri 我尝试过各种方法,但不知道如何使这项工作。为了更好地理解对象结构,这里有几个屏幕截图: 从上面的屏幕截图可以看到“AgentsByUri”是一个集合。在该集合中,我想测试属性“AbsoluteUri”是否包含某个字符串值 另一件我不明白

我有一个PowerShell对象,希望筛选结果

public Collection<PSObject> Groups;
然而,我需要深入到另一个层次。在PowerShell中,这很容易:

$x.AgentsByUri.AbsoluteUri
我尝试过各种方法,但不知道如何使这项工作。为了更好地理解对象结构,这里有几个屏幕截图:

从上面的屏幕截图可以看到“AgentsByUri”是一个集合。在该集合中,我想测试属性“AbsoluteUri”是否包含某个字符串值

另一件我不明白的事情是,为什么我必须使用“成员”,而不能只使用“基本对象”-这种结构看起来更类似于PowerShell,如果可能的话,这将是我的首选,因为它更适合我的PowerShell大脑

请原谅我的术语,我对C#相当陌生!希望这是有道理的:)

任何帮助或指导都将不胜感激。

试试以下方法:

var groupMembershipFilter = (dynamic)CsQ.Groups.Where(x => x.Members["AgentsByUri"].Any(x => x.AbsoluteUri == "url")).ToList();
试试这个:

var groupMembershipFilter = (dynamic)CsQ.Groups.Where(x => x.Members["AgentsByUri"].Any(x => x.AbsoluteUri == "url")).ToList();

为此干杯,我似乎一点也不喜欢。我已经取得了一些进展,并在这里发布了一个新问题,因为我认为这个问题可能太令人困惑了——为此干杯,我似乎一点也不喜欢这个问题。我已经取得了一些进展,并在这里发布了一个新问题,因为我认为这个问题可能过于令人困惑-