Загрузка самого большого пронумерованного файла в память - PullRequest
0 голосов
/ 24 февраля 2010

У меня есть каталог, в котором имена файлов полностью состоят из цифр. Я хочу найти наибольшее число, чтобы открыть этот файл и начать обработку данных в этом файле. Какой самый простой способ это сделать? Моя первая румяная идея - загрузить каталог имен файлов в массив и перебрать массив, чтобы посмотреть, какое из них самое большое. Предложения?

Ответы [ 4 ]

2 голосов
/ 24 февраля 2010

Поможет ли TryParse здесь?

Int64 val;
string maxFileName = dirInfo.GetFiles().OrderByDescending(s => Int64.TryParse(s.Name, out val) ? val : 0).First().Name;
0 голосов
/ 24 февраля 2010

Вы можете просто использовать DirectoryInfo.GetFiles и использовать LINQ, чтобы найти наибольшее значение:

string filename = myDirectoryInfo.GetFiles().Select(fileInfo => int.Parse(fileInfo.Name)).Max().ToString();

(Тем не менее, вы, вероятно, захотите более тщательную проверку ошибок, так как она выдаст, если папка содержит имя файла, а не просто число ...)

0 голосов
/ 24 февраля 2010

Да, вы можете сделать это, и самый простой способ загрузить все имена файлов одновременно - Класс каталога

использовать функцию GetFiles.

Спасибо

0 голосов
/ 24 февраля 2010

Что плохого в твоей "идее румянца"? Я не вижу проблем с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...