【发布时间】:2016-06-10 23:09:36
【问题描述】:
我正在学习 C# 课程,当前的任务是创建一个控制台应用程序,用于将新文件(在过去 24 小时内修改)从目录“客户订单”传输到目录“家庭办公室”。
此时,我只是想找出一种方法来确定哪些文件是新文件。为了查看它是否有效,我使用 Console.WriteLine 将新文件打印到控制台窗口。但是,它所做的只是打印“System.Linq.Enumerable+WhereArrayIterator'1[System.IO.FileInfo]”。
我对这种语言非常陌生,而且我担心我已经以错误的方式处理所有事情。这是我到目前为止的代码(经过一个小时的谷歌搜索并从 StackOverflow 获得想法):
class ModifiedFiles
{
public string your_dir;
public IEnumerable<FileInfo> modified()
{
your_dir = @"C:\Users\Student\Desktop\Customer Orders";
var directory = new DirectoryInfo(your_dir);
DateTime from_date = DateTime.Now.AddDays(-1);
DateTime to_date = DateTime.Now;
var files = directory.GetFiles()
.Where(file => file.LastWriteTime >= from_date && file.LastWriteTime <= to_date);
return files;
}
}
static void Main(string[] args)
{
ModifiedFiles newFiles = new ModifiedFiles();
Console.WriteLine(newFiles.modified());
Console.ReadLine();
}
有人可以指出这里发生的事情并让我走上正确的道路吗?
【问题讨论】:
-
追加 .ToList() 到 linq
-
添加ToList后,使用foreach循环WriteLine所有结果。
-
谢谢大家,成功了。
标签: c# linq file directory datemodified