C# Найти конечного родителя с LINQ
У меня есть иерархический объект со следующей структурой:
public class Folder
{
public Folder Parent { get; set; }
public IList<Folder> Child { get; set; }
}
Если папка является корневой папкой, родитель будет null
, Если папка не является корневой, родительский not null
,
Мне нужно найти Ultimate родителя папки, то есть корневой папки (not null
) если существует один.
Я хотел бы сослаться, чтобы избежать цикла while, если это возможно. Я хотел бы сделать это, используя выражения Linq, если это возможно.
1 ответ
Решение
Зачем избегать цикла while, если это самый быстрый способ сделать это?
Folder root = myFolder;
while(root.Parent != null) root = myFolder.Parent;