C# 使用 LINQ 查找最终父级

发布于 2024-10-19 18:05:28 字数 365 浏览 7 评论 0原文

我有一个具有以下结构的分层对象:

public class Folder
{
    public Folder Parent { get; set; }
    public IList<Folder> Child { get; set; }
}

如果该文件夹是根文件夹,则父文件夹将为 null。如果该文件夹不是根文件夹,则父文件夹不为空

我需要找到文件夹的最终父级,这意味着根文件夹(not null)(如果存在)。

如果可能的话,我会提到避免 while 循环。 如果可能的话,我想使用 Linq 表达式来完成它。

I have a hierarchical object with the following structure:

public class Folder
{
    public Folder Parent { get; set; }
    public IList<Folder> Child { get; set; }
}

If the folder is a root folder, the Parent will be null. If the folder is not a root the parent is not null.

I need to find the Ultimate parent of a Folder, that means, the root folder (not null) if exists one.

I would refer to avoid the while loop if possible.
I would like to get it done using Linq expressions if possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

メ斷腸人バ 2024-10-26 18:05:28

如果 while 循环是最快的方法,为什么要避免它呢?

Folder root = myFolder;
while(root.Parent != null) root = myFolder.Parent;

Why avoid the while loop if it is the fastest way to do it?

Folder root = myFolder;
while(root.Parent != null) root = myFolder.Parent;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文