У меня есть папка с несколькими CSV-файлами для чтения в SSIS через отдельные параллельные процессы. Я использую задачу «Сценарий» для фильтрации файлов, которые обрабатываются каждым потоком данных на основе REGEX.
Если случится так, что REGEX найдет 2+ подходящих файлов для данного процесса, я хочу, чтобы он загружался только в первом измененномфайл даты из соответствующих критериев.
Я пытался добавить сортировку в Directory.GetFiles, а затем прервать выполнение на 1 (снизу), но получаю различные ошибки:
C # Прерывание цикла foreach после X числа элементов
Как мне отсортировать массив строк из .GetFiles () в порядке даты последнего изменения в asp.netВеб-страницы?
public void Main()
{
//// Filter on REGEX condition
string dirPath = (string)Dts.Variables["$Project::FolderPath"].Value;
string[] aryFiles = Directory.GetFiles(dirPath);
List<string> lstFiles = new List<string>();
string fileFilterExpression = (string)Dts.Variables["User::vFilename"].Value;
Regex filenameRegEx = new Regex(fileFilterExpression);
foreach (string fileName in aryFiles)
{
Match match = filenameRegEx.Match(fileName);
if (match.Success) lstFiles.Add(fileName);
}
Dts.Variables["User::vFilelist"].Value = lstFiles.ToArray();
Dts.TaskResult = (int)ScriptResults.Success;
}
Спасибо!