我有这段代码:
FileInfo finfo = new FileInfo(Path.Combine(Directory.GetCurrentDirectory(), "backup", file.Key));
var fsize = finfo.Length;
if (fsize != file.Value)
{
DialogResult modifiedcleofiles = MessageBox.Show("Oops! Modified files found! Click OK to move them!", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
if(modifiedcleofiles == DialogResult.OK)
{
foreach (FileInfo filemove in finfo)
{
finfo.MoveTo(Path.Combine(Directory.GetCurrentDirectory(), "backup", filemove.Name));
}
}
return;
}
但它与foreach的错误,我该如何解决?
P.S我得到这个错误:
foreach语句不适用于System.IO.FileInfo类型的变量
答案 0 :(得分:0)
如果您想在目录中迭代多个项目,则需要DirectoryInfo
,而不是FileInfo
对象。
假设您想要获取finfo
目录中的所有文件,代码应如下所示:
foreach (FileInfo filemove in finfo.Directory.EnumerateFiles()) {
...
}
finfo.Directory
为DirectoryInfo
目录提供了finfo
,EnumerateFiles()
允许您在foreach
循环中查看其内容。< / p>