C# FileInfo move foreach
本文关键字:foreach move FileInfo | 更新日期: 2023-09-27 18:04:16
我有这样的代码:
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类型的变量
如果您想迭代目录中的多个项目,则需要DirectoryInfo
对象,而不是FileInfo
对象。
假设您想获得finfo
目录下的所有文件,代码应该是这样的:
foreach (FileInfo filemove in finfo.Directory.EnumerateFiles()) {
...
}
finfo.Directory
为finfo
的目录提供了DirectoryInfo
, EnumerateFiles()
让您在foreach
循环中浏览其内容。