使用 LINQ 呈现层次结构?
假设我们有一个类
Category
{
ID,
Name,
ParentID
}
和一个列表,
1, 'Item 1', 0
2, 'Item 2', 0
3, 'Item 3', 0
4, 'Item 1.1', 1
5, 'Item 3.1', 3
6, 'Item 1.1.1', 4
7, 'Item 2.1', 2
我们可以使用 LINQ 来渲染一棵树吗:
Item 1
Item 1.1
Item 1.1.1
Item 2
Item 2.1
Item 3
Item 3.1
如有帮助,我们将不胜感激!
Let say we have a class
Category
{
ID,
Name,
ParentID
}
and a List
1, 'Item 1', 0
2, 'Item 2', 0
3, 'Item 3', 0
4, 'Item 1.1', 1
5, 'Item 3.1', 3
6, 'Item 1.1.1', 4
7, 'Item 2.1', 2
Can we using LINQ to render a tree like:
Item 1
Item 1.1
Item 1.1.1
Item 2
Item 2.1
Item 3
Item 3.1
Any help is appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这是“仅 LINQ”版本:
是的,它是递归 LINQ。
根据 NVA 的请求,以下是使所有“孤立”记录成为根记录的方法:
Here's the "LINQ-only" version:
Yes, it's recursive LINQ.
Per
NVA
's request, here's the way to make all "orphan" records become root records:这些扩展方法正是您想要的:
您可以按如下方式使用它们:
These extension methods do exactly what you want:
You can use them as follows:
您可以使用递归:
You can use recursion:
//调用方法
//Call method