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;
Другие вопросы по тегам