我有一个包含 try catch 和 finally 的 foreach 循环。它遍历文件夹中的文件,最后将它们全部删除....但是现在如果我有两个文件,因为它正在删除所有文件(由于应用程序功能,我需要删除所有文件)它不会通过第二个文件。是否可以让 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);
}
}
}
}
}
希望它足够清楚。