使用LINQ在两个日期之间过滤数据

bal*_*569 7 .net c# linq

如何在两个日期时间之间过滤数据.在这里我过滤目录中的文本文件长度.我需要在所选日期之间过滤文本文件.

DateTime startDate = dateTimePicker1.Value;
DateTime endDate = dateTimePicker2.Value;
var queryList1Only = from i in di.GetFiles("*.txt", SearchOption.AllDirectories)  
                     select i.Length;
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

Llo*_*ell 6

使用Where子句:

DateTime startDate = dateTimePicker1.Value;
DateTime endDate = dateTimePicker2.Value;

var queryList1Only = from i in di.GetFiles("*.txt", SearchOption.AllDirectories) 
                     where i.GetCreationTime() > startDate && i.GetCreationTime() < endDate
                     select i.Length;
Run Code Online (Sandbox Code Playgroud)

而不是GetCreationTime你可以使用GetLastWriteTimeGetLastAccessTime.

我建议使用where子句查看一些示例,以全面了解它在这里的工作原理.


Chr*_*fer 5

那么,一个where条款怎么样?

var query = from i in di.GetFiles("*.txt", SearchOption.AllDirectories) 
            where (i.GetCreationTime() > startDate && i.GetCreationTime() < endDate)
            select i.Length;
Run Code Online (Sandbox Code Playgroud)