嵌套的IEnumerable / Arrays,如何访问深层嵌套的属性

时间:2016-07-26 18:49:05

标签: c# arrays linq

所以我有一个包含队列(列表)的IEnumerable对象,每个项目包含3个属性。其中一个属性(" States")包含另一个数组......此数组包含属性" Messages"。相当令人困惑,这就是为什么我在调试中拍摄了本地照片的原因。 I had to edit sensible data out, sorry guys 不得不编辑合理的数据。

我只有这个IEnumerable对象可以使用。我如何到达该物业"消息"?

我已经尝试了一些Lambda表达式......比如

C-x C-f /ssh:remotehost

然后我可以创建一个新的数组/字符串列表,并将每个_message链接到其中。

Atleast我认为它有效(不能在家测试)。但它也会非常慢。还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

您必须压缩多个列表,因此请使用SelectMany,如:

string[] output = _criticalData.SelectMany(outer => 
                            outer.States.SelectMany(inner => inner.Messages))
                            .ToArray();