Подтвердить что ты не робот

File.Delete() в сравнении с FileInfo.Delete()

Есть ли большая разница между использованием статических методов объекта File в отличие от создания нового объекта FileInfo и вызова этих методов?

4b9b3361

Ответ 1

Единственное различие заключается в том, что File должен разрешить указанный путь (если он относительный), а FileInfo должен иметь уже разрешенный путь.

Ответ 2

Оба вызова Win32Native.DeleteFile()

Ответ 3

Это зависит. Если вы выполняете одну операцию, используйте класс File, и если вы выполняете несколько операций в одном файле, используйте FileInfo.

EDIT: Я сделал это, поскольку я понимаю, что статические методы класса File всегда будут проверять безопасность. Но если вы повторно используете экземпляр FileInfo, методы проведут проверку безопасности только в первый раз, а не на каждом последующем вызове.

Ответ 4

Нет, они в основном то же самое.

Ответ 5

Нет, они дублируются для удобства

Ответ 6

Надеюсь, это поможет вам...

IO.FileInfo предоставляет методы экземпляра для создания, копирования, удаления, перемещения и открытия файлов и помогает создавать System.IO.FileStream objects. Этот класс нельзя унаследовать.

Это означает, что для выполнения этих процессов вам необходимо создать экземпляр/объект FileInfo.

IO.File предоставляет статические методы для создания, копирования, удаления, перемещения и открытия файлов и помогает создавать объекты System.IO.FileStream.

Это означает, что вам не нужно создавать экземпляр/объект FileInfo для выполнения этих процессов.

см. ссылки на ссылки для получения дополнительной информации

http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx

http://msdn.microsoft.com/en-us/library/system.io.file.aspx

Ответ 7

Почти нет разницы. Оба удаляют файл, если он существует, и генерируют исключение, если оно не существует.