使用C#Lambda过滤.csv文件的目录 [英] Filter a directory for .csv files using c# lambda

查看:81
本文介绍了使用C#Lambda过滤.csv文件的目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

通过添加其他条件来帮助我改善下面的lambda

Help me improve the lambda below with adding another conditon like

获取没有匹配的.wav文件的所有.csv.例如,说"sample.csv"和"sample.wav",那么我不想收集"sample.csv".

Get me all .csv with no matching .wav file. Example, say "sample.csv" and "sample.wav", then I dont want to collect "sample.csv".

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

推荐答案

您必须首先获取wav个文件的列表:

You have to get list of wav files first:

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

,然后可以将其用作Where条件的一部分:

and then you can use it as part of Where condition:

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

这篇关于使用C#Lambda过滤.csv文件的目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆