Я не совсем уверен, правильно ли я понял, что вы просите, но мне кажется, что решение довольно тривиально, например:
foreach (DirectoryInfo directory in directories)
{
foreach (FileInfo file in directory.GetFiles("*.csv"))
{
try
{
//do something with file
}
catch (Exception e)
{
//catch exception
}
}
foreach(FileInfo fileToDeleteInfo...)
{
try
{
if (!IsFileLocked(fileToDeleteInfo))
{
string[] files = Directory.GetFiles(@"C:\Test");
foreach (string filetoDelete in files)
{
File.Delete(filetoDelete);
}
}
}
catch(...)
{... }
}
Другими словами, перенести удаление файлаиз второго (вложенного) foreach
в новый.
Если это не то, о чем вы просите, уточните.