Есть задача быстро удалять кучу файлов. Файлы разбросаны по сетевым директориям. Список полных путей приходит из базы данных.
Дополнительно:
1) Файлы, которых нет надо просто игнорировать и удалить из БД
2) Файлы, к которым нет доступа по причине разрыва сети и прав надо игнорировать, из БД не удалять, записать диагностику в журнал
3) Работать быстро
В результате получается как анекдот "выберите любые 2 из 3х":
File.Exist работает относительно быстро, но не различает отсутствие файла и отсутствие прав на сетевую директорию.
File.Delete дает информативные исключения, но меееедленно.