c# - 使用 Linq 获取目录结构?

标签 c# .net linq

我有一个应用程序,我可以在其中获取计算机上的驱动器列表,当您选择一个驱动器时,我会使用目录和文件填充树控件。

我正在考虑尝试使用 linq 循环每个目录并获取其子目录。

有没有人做过这样的事情?

谢谢

最佳答案

您可以毫无问题地使用 LINQ,尽管这是一项足够简单的任务,与文件系统相关的代码可能比与 LINQ 相关的代码更长:

    private static TreeNode AddDirectory(DirectoryInfo directory)
{
    DirectoryInfo[] subdirs = directory.GetDirectories();
    FileInfo[] files = directory.GetFiles();
    IEnumerable<TreeNode> subdirNodes = from subdir in subdirs select AddDirectory(subdir);
    IEnumerable<TreeNode> fileNodes = from file in files select new TreeNode(file.Name);
    return new TreeNode(
        directory.Name, 
        subdirNodes.Concat(fileNodes).ToArray());
}

关于c# - 使用 Linq 获取目录结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/804251/

相关文章:

c#登录表单出现Mysql错误

c# - 谷歌API : Gmail Service Push Notification (Watch) - User not authorized to perform this action

c# - 用点填充 PDFP 表格单元

c# - 显示带有 WPF、Winforms 和双显示器的窗口

c# - 第三方应用程序要求旧程序集

c# - 像这样使用 C# Property 可以吗

entity-framework - Asp.Net Core Automapper LINQ 表达式

c# - Uri.Host 和 Uri.Authority 有什么区别

sql-server - LINQ 对于巨大的数据库表来说太慢了

c# - 使用 linq 连接多行中特定列的值