2011-06-01 77 views
6

Cách lọc dữ liệu giữa hai ngày giờ. Ở đây tôi lọc chiều dài tập tin văn bản trong một thư mục .. Tôi cần phải lọc tập tin văn bản giữa ngày đã chọn.Lọc dữ liệu giữa hai ngày bằng cách sử dụng LINQ

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

Bất kỳ đề xuất nào?

Trả lời

5

Sử dụng mệnh đề đó:

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; 

Thay vì GetCreationTime bạn có thể sử dụng GetLastWriteTime hoặc GetLastAccessTime.

Tôi khuyên bạn nên xem một số ví dụ sử dụng mệnh đề where để hiểu đầy đủ về cách nó hoạt động như thế nào here.

+0

Cảm ơn ví dụ ur..Mới mới cho LINQ..Will Tìm hiểu từ LINK (Q) – bala3569

5

Làm thế nào về mệnh đề where?

var query = from i in di.GetFiles("*.txt", SearchOption.AllDirectories) 
      where (i.GetCreationTime() > startDate && i.GetCreationTime() < endDate) 
      select i.Length; 
2
from fi in new DirectoryInfo(@"c:\path").EnumerateFiles("*.txt") 
where fi.CreationTime > startDate and fi.CreationTime < endDate) 
select fi.FullName; 
Các vấn đề liên quan