Попытка получить подсчет всех файлов в папке, соответствующей заданной маске, но вы хотите избежать расходов на возврат каждого матча или даже списка, так как может быть потенциально десятки тысяч матчей.Самый быстрый вызов для подсчета совпадающих файлов в каталоге Windows?
Я мог бы делать FindNextFile
несколько раз, пока не закончил, но это много дорогостоящих поездок в оба конца.
Есть функция удобства для этого?
Это код используется сейчас, и так как все, что мне нужно, это граф, ищет менее дорогостоящий способ попасть туда:
string[] files = System.IO.Directory.GetFiles(Path, InFileMask);
if (files.Length == ExpectedCount)
Сомневаюсь, что вы будете бить 'FindNextFile'. Что заставляет вас думать, что это медленно? http://stackoverflow.com/questions/15351288/is-there-a-faster-alternative-to-enumerating-folders-than-findfirstfile-findnext –
Надеюсь, что FS уже хранит каталог имен файлов, это будет быстрый вызов для запроса с совпадением и возвращает только счет, а не список файлов. FindNextFile - это много круговых поездок, которые мне не нужны, поскольку мне приходится постоянно рассчитывать, так как количество файлов постоянно меняется. –
Что значит «продолжать подсчет повторно»? Есть ли еще больше того, что вы не говорите. –