我想检查一个文件夹中的一堆不同的文件.我已将文件添加到列表中并循环播放.问题是如果缺少其中一个文件,我不知道如何评估为false.
只有当所有文件都存在时,我才需要bool评估为true.
static List<string> files = new List<string>();
static bool fileExists;
static string Dir = @"Z:\MyDir\myFolder\";
static void Main(string[] args)
{
files.Add("MyFile1.txt");
files.Add("MyFile2.txt");
files.Add("MyFile3.txt");
files.Add("MyFile4.txt");
files.Add("MyFile5.txt");
files.Add("MyFile6.txt");
files.Add("MyFile7.txt");
files.Add("MyFile8.txt");
files.Add("MyFile9.txt");
files.Add("MyFile10.txt");
foreach(string fl in files)
{
fileExists = (File.Exists(Dir + fl));
}
Run Code Online (Sandbox Code Playgroud)
像Linq解决方案,但这是为老学校的爱好者....
fileExists = true;
foreach(string fl in files)
{
if(!File.Exists(Path.Combine(Dir,fl)))
{
fileExists = false;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
带LINQ的单线程,无需循环(编辑使用Path.Combine):
fileExists = files.All(fl => File.Exists(Path.Combine(Dir, fl)));
Run Code Online (Sandbox Code Playgroud)