我有一个具有以下结构的分层对象:
public class Folder
{
public Folder Parent { get; set; }
public IList<Folder> Child { get; set; }
}
如果文件夹是根文件夹,则父级将为null
。如果文件夹不是根目录,则父项为not null
。
我需要找到文件夹的Ultimate父级,即根文件夹(not null
),如果存在的话。
如果可能的话,我会提到避免使用while循环。 如果可能的话,我想使用Linq表达式完成它。
答案 0 :(得分:11)
为什么要避免使用while循环,如果这是最快的方法呢?
Folder root = myFolder;
while(root.Parent != null) root = myFolder.Parent;