使用c# lambda过滤.csv文件的目录

本文关键字:文件 csv lambda 过滤 使用 | 更新日期: 2023-09-27 17:49:29

帮助我改进下面的lambda,添加另一个条件,如

给我所有。csv文件,没有匹配的。wav文件。例如,输入"sample.csv"answers"sample.wav",那么我不想收集"sample.csv"。

Files = new DirectoryInfo(txtStartPath.Text)
           .EnumerateFiles("*.csv")
           .Where(file => file.CreationTime < DateTime.Now.AddDays(-ageOfFile))
           .ToList();

使用c# lambda过滤.csv文件的目录

您必须首先获得wav文件列表:

var wavFiles = new DirectoryInfo(txtStartPath.Text)
                   .EnumerateFiles("*.wav")
                   .Select(f => Path.GetFileNameWithoutExtension(f))
                   .ToList();

,然后你可以使用它作为Where条件的一部分:

Files = new DirectoryInfo(txtStartPath.Text)
           .EnumerateFiles("*.csv")
           .Where(f => f.CreationTime < DateTime.Now.AddDays(-ageOfFile))
           .Where(f => !wacFiles.Contains(Path.GetFileNameWithoutExtension(f)))
           .ToList();