2015-06-17 3 views
0

У меня около 1500 файлов .txt формата «имя_файла», где DATE - это число. Файлы можно легко отсортировать в порядке возрастания.Загрузка в большом количестве файлов в C# в алфавитном порядке?

Проблема в том, что я хочу загрузить все эти 1500 файлов в один файл, в порядке.

Я знаю, что foor loop в порядке, но поскольку есть даты, которые пропускаются, я не знаю, как лучше всего это сделать.

+0

Примерами названий популярных файлов? вы начали говорить 'foor' цикл? – RadioSpace

+0

Дампируйте имена файлов в упорядоченный список, а затем перейдите по списку. – Tim

+0

Не могли бы вы рассказать о том, «где ДАТА - это число»? Как выглядит этот номер? Как мы сортируем по этому номеру? Вы хотите, чтобы файлы отсортированы по дате и проигнорировали часть имени файла? Или как-нибудь еще? – Enigmativity

ответ

1

Предполагая, что имя файла сортируется по алфавиту, это сработает.

  1. Создайте список в алфавитном порядке путей к файлам с помощью

    var textFiles = Directory.EnumerateFiles(path, "*.txt").OrderBy(x => new string(x.ToArray())); 
    
  2. итерации над перечислимой коллекцией и сделать вашу работу обработки.

    foreach (var textFile in textFiles) 
        { 
         // Do work here 
        } 
    

Если сами имена файлов не сортируются, а просто строка даты в конце концов, вы можете реализовать собственное сравнение, которое объясняется here.

Смежные вопросы