帮我改善下面的lambda,添加另一个条件,如
给我所有.csv没有匹配的.wav文件。例如,说“sample.csv”和“sample.wav”,然后我不想收集“sample.csv”。
Files = new DirectoryInfo(txtStartPath.Text)
.EnumerateFiles("*.csv")
.Where(file => file.CreationTime < DateTime.Now.AddDays(-ageOfFile))
.ToList();
答案 0 :(得分:1)
您必须先获取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();