DirectoryInfo info = new DirectoryInfo(Directory Name);
//... Other code
var allLines = info.GetFiles("*.dat")
.Where(p => p.CreationTime.Date ==DateTime.Today.Date)
.SelectMany(p => File.ReadAllLines(p.FullName));
我正在尝试获取今天创建的文件。但是使用这段代码,我得到文件夹中存在的超过3个月的所有.dat文件。任何帮助!! C#中的新手
答案 0 :(得分:0)
试试这个
我从您提供的linq中了解到,您需要的是.dat类型的文件,其创建日期为今天并执行写入操作。
var allLines = info.GetFiles("*.dat")
.Where(p => p.CreationTime.Date > DateTime.Today.Date.AddMinutes(-1))
.SelectMany(p => File.ReadAllLines(p.FullName));
答案 1 :(得分:0)
看起来像你的:
.SelectMany(p => File.ReadAllLines(p.FullName));
错了。
为什么你不使用:
info.GetFiles("*.dat").Where(p => p.CreationTime.Date == DateTime.Today.Date).Select(p => p.FullName);
您将获得文件列表
答案 2 :(得分:0)
代码运行正常。唯一的问题是,我不得不删除以前没有涉及日期过滤的编译/调试文件。因此即使是干净的解决方案也是如此。重建解决方案已经完成。