如果文件列表中缺少一个文件,如何评估为false

Asy*_*ous 2 c#

我想检查一个文件夹中的一堆不同的文件.我已将文件添加到列表中并循环播放.问题是如果缺少其中一个文件,我不知道如何评估为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)

Ste*_*eve 7

像Linq解决方案,但这是为老学校的爱好者....

    fileExists = true;
    foreach(string fl in files)
    {
        if(!File.Exists(Path.Combine(Dir,fl)))
        {
           fileExists = false;
           break;
        }
    }
Run Code Online (Sandbox Code Playgroud)


Ald*_*den 5

带LINQ的单线程,无需循环(编辑使用Path.Combine):

fileExists = files.All(fl => File.Exists(Path.Combine(Dir, fl)));
Run Code Online (Sandbox Code Playgroud)