私はtry catchとfinallyを持つforeachループを持っています。フォルダー内のファイルを通過し、最終的にそれらすべてを削除します....しかし、2つのファイルがある場合、すべてを削除しているため(アプリの機能のためにすべてを削除する必要があります)、2番目のファイルには移動しません。foreach ループを終了させてから foreach メソッドのすべてのファイルを削除することは可能ですか?ここに例を示します:
foreach (DirectoryInfo directory in directories)
{
foreach (FileInfo file in directory.GetFiles("*.csv"))
{
try
{
//do something with file
}
catch (Exception e)
{
//catch exception
}
finally
{
if (!IsFileLocked(file))
{
string[] files = Directory.GetFiles(@"C:\Test");
foreach (string filetoDelete in files)
{
File.Delete(filetoDelete);
}
}
}
}
}
それが十分に明確であることを願っています。