【发布时间】:2011-03-09 23:06:36
【问题描述】:
它们是等价的还是相互替代的?它们中的任何一个是否已被弃用,如果是,是哪一个?推荐在 ASP.NET Web 应用程序中使用哪一个?我的目标是递归地从特定目录中提取所有文件。
【问题讨论】:
标签: c# asp.net directory directoryinfo
它们是等价的还是相互替代的?它们中的任何一个是否已被弃用,如果是,是哪一个?推荐在 ASP.NET Web 应用程序中使用哪一个?我的目标是递归地从特定目录中提取所有文件。
【问题讨论】:
标签: c# asp.net directory directoryinfo
DirectoryInfo 有一个DirectoryInfo.GetFiles method 可能满足您的要求。
【讨论】:
Directory 是一个静态类,它提供了处理目录的静态方法。 DirectoryInfo 是一个类的实例,它提供有关特定目录的信息。例如,如果您想要有关 C:\Temp:
的信息var dirInfo = new DirectoryInfo("C:\\Temp");
if (dirInfo.Exists) {
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
...
}
如果您只想将名称作为字符串,使用 Directory 的静态方法避免创建 DirectoryInfo 的实例可能会更快更容易。
if (Directory.Exists("C:\\Temp")) {
string[] files = Directory.GetFiles("C:\\Temp", "*.*", SearchOption.AllDirectories);
...
}
简而言之,只要它做你想做的,你使用哪一个并不重要。两者都不推荐。
【讨论】:
目录
目录信息类
【讨论】:
Directory类是静态的 可用于创建的类, 移动,枚举目录和子 目录。DirectoryInfo课程也同样适用 目的就像Directory类在哪里 它的成员是实例成员 反对Directory类。主要的 两者的区别在于 我们什么时候可以使用这些类。Directoryclass 可以在我们使用时使用 想要一个简单的文件夹操作在 一次。例如,您需要删除 文件夹并离开。但是,DirectoryInfo类已关联 带有一个文件夹,并为您提供所有 可以在 文件夹。DirectoryInfo类 接受路径作为参数时 实例化并为您提供 文件夹中的所有内容。你可以 创建子目录、移动、枚举 等等CODEDIGEST
还有一个重要的注意事项,如果您必须对目录 DirectoryInfo 执行多项操作,将具有性能优势,因为它不需要对每个操作进行安全权限检查。
【讨论】:
DirectoryInfo(基本上)是 Directory 类,但用于非静态上下文。如果您要对 FileSystem 进行多次调用,尤其是在同一文件夹或所述文件夹的子目录中时,MSDN 建议使用 DirectoryInfo。
【讨论】: