gpt4 book ai didi

C# Flatten 嵌套对象

转载 作者:行者123 更新时间:2023-11-30 16:45:23 27 4
gpt4 key购买 nike

<分区>

我有一个嵌套类:

    class Item
{
public Int32 Id { get; set; }
public Int32 Pid { get; set; }
public String Name { get; set; }
public IEnumerable<Item> Children { get; set; }

}

现在我想把它展平,这样我就可以获得所有项目及其子项的名称。

这里的问题是我不知道这有多少层。

我看过了:

How to flatten nested objects with linq expression

如果您知道自己有多少关卡,那就太好了,而我不知道。

所以:

        var r = from b in items
from c in b.Children
from d in c.Children
...
select new { b.Name, c = c.Name, d = d.Name ... };

几乎可以满足我的需要,但我不知道我需要深入多少层,而且如果一个项目没有子项,它也不会返回任何东西。

我想我需要一些递归例程,但我似乎找不到它。我查看了 IEnumerable,但我还不太明白这一点 :)

因此非常感谢任何帮助。

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