我想知道如何返回包含文件的文件夹列表。
因为我无法返回这两个列表...也无法将这两种类型都放入列表中。
public List<DirectoryInfo> GetTopFolders()
{
List<DirectoryInfo> Folders = new List<DirectoryInfo>();
List<FileInfo> Files = new List<FileInfo>();
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo("C://inetpub//wwwroot//Files//");
di.GetDirectories();
System.IO.FileInfo[] fiArr = di.GetFiles();
foreach (DirectoryInfo t in di.GetDirectories())
{
Folders.Add(t);
foreach (FileInfo f in di.GetFiles())
{
Files.Add(f);
}
}
return Folders;
}
这是我实际使用的代码。
最佳答案
嗯,FileInfo 和 DirectoryInfo 都继承自 FileSystemInfo .因此,您可以改为维护该类型的列表,然后一起返回所有内容:
public List<FileSystemInfo> GetTopFoldersAndFiles()
{
List<FileSystemInfo> FilesAndFolders = new List<FileSystemInfo>();
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo("C://inetpub//wwwroot//Files//");
di.GetDirectories();
System.IO.FileInfo[] fiArr = di.GetFiles();
foreach (DirectoryInfo t in di.GetDirectories())
{
FilesAndFolders.Add(t);
foreach (FileInfo f in di.GetFiles())
{
FilesAndFolders.Add(f);
}
}
return FilesAndFolders;
}
当然,您可能需要在根据每个项目的类型使用此对象的代码中进行一些条件处理。
关于c# - 如何返回包含文件的文件夹列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10124434/