我有以下foreach循环:
using System.IO;
//...
if (Directory.Exists(path))
{
foreach(string strFile in Directory.GetFiles(path, "*.txt"))
{
// do something, possibly delete the file named strFile
}
}
删除当前用于foreach循环的目录中的文件时,会有副作用吗?
最佳答案
GetFiles返回一个数组,而不是一个迭代器,因此在您引用第一个文件时该操作已完成。而且它仅返回文件名,而不返回文件句柄,因此您应该完全安全地对其执行任何操作。
关于c# - C#:foreach语句中Directory.GetFiles的副作用并删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/322772/