我有一个应用程序,我可以在其中获取计算机上的驱动器列表,当您选择一个驱动器时,我会使用目录和文件填充树控件。
我正在考虑尝试使用 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/