Они эквивалентны или альтернативы друг другу? Какой-либо из них удерживается от использования и раз так который? Какой рекомендуется для использования в веб-приложении ASP.NET. Моя цель состоит в том, чтобы извлечь все файлы из определенного каталога рекурсивно.
Каталог - это статический класс, который предоставляет статические методы для работы с каталогами. DirectoryInfo - это экземпляр класса, который предоставляет информацию о конкретном каталоге. Так, например, если вам нужна информация о C: \ Temp:
var dirInfo = new DirectoryInfo("C:\\Temp");
if (dirInfo.Exists) {
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
...
}
. Если вам просто нужны имена в виде строк, может быть быстрее и проще избежать создания экземпляра DirectoryInfo с помощью статических методов Directory.
if (Directory.Exists("C:\\Temp")) {
string[] files = Directory.GetFiles("C:\\Temp", "*.*", SearchOption.AllDirectories);
...
}
Короче говоря, на самом деле не имеет значения, что вы используете, если оно делает то, что вы хотите. Ни один из них не рекомендуется по сравнению с другим.
DirectoryInfo (в основном) класс Directory, но используется в нестатическом контексте. Если вы собираетесь делать много обращений к файловой системе, особенно если она находится в той же папке или в подкаталоге указанной папки, MSDN предлагает использовать DirectoryInfo.
DirectoryInfo имеет метод DirectoryInfo.GetFiles , который, вероятно, соответствует вашим требованиям.
Класс Directory
является статическим класс, который можно использовать для создания, перемещать, перечислять каталоги и подпрограммы каталоги. КлассDirectoryInfo
также обслуживается тем же цель, напримерDirectory
класс, где его члены являются членами экземпляра как в отличие от классаDirectory
. Главный разница между ними заключается в когда мы можем использовать эти классы.Класс Directory
можно использовать, когда мы хотите простую операцию с папкой на однажды. Например, вам нужно удалить папку и уходи. НоКласс DirectoryInfo
связан с папкой и предоставляет вам все операции, которые можно выполнять на папка. КлассDirectoryInfo
принимает путь как параметр, когда создание экземпляра и предоставляет вам все в папке. Вы можете создавать подкаталоги, перемещать, перечислять и т. д. CODEDIGEST
Также важное замечание, если вам нужно выполнить несколько действий с каталогом, DirectoryInfo будет иметь преимущество в производительности, так как не будет требовать проверки привилегий безопасности для каждого действия.
Directory
Класс Directory Info