【发布时间】:2020-04-21 01:43:24
【问题描述】:
我有关于父子关系的数据,使用 Linq 可以直接找到给定父项的所有子项,但是我有其他问题,在提供子项时找到所有父项。
List<FlatData> elements = new List<FlatData>
{
new FlatData {Id = 1, ParentId = NULL ,Text = "Apple"},
new FlatData {Id = 2, ParentId = 1, Text = "Cat"},
new FlatData {Id = 3, ParentId = 2, Text = "Dog"},
new FlatData {Id = 4, ParentId = 3, Text = "Elephant"}
};
当给定 ID 4 时,我需要能够使用 LINQ(lambda 表达式)进行反向遍历并找到所有父级。
【问题讨论】:
-
“所有父母”是什么意思?你的意思是父母和父母的父母......?
-
是的,如果给出了 ID 4,我应该反向遍历并获取所有元素:在这种情况下,对于 ID =4,它的父母应该是 3,2,1。谢谢
-
我不确定您是否可以单独使用 LINQ 解决此问题。你需要某种递归。