2011-06-01 10 views
6

2つのdatetimeの間でデータをフィルタリングする方法。ここでは、ディレクトリ内のテキストファイルの長さをフィルタリングしています。選択した日付の間にテキストファイルをフィルタリングする必要があります。LINQを使用して2つの日付間でデータをフィルタリングする

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

ご提案がありますか?

答えて

5

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; 

代わりのGetCreationTimeあなたがGetLastWriteTimeGetLastAccessTimeを使用することができます。

where節を使っていくつかの例を調べて、すべての動作を完全に理解することをお勧めします。here

+0

ありがとうございました.LINQ。新しいLINK(Q)から学びます。 – bala3569

5

よく、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; 
関連する問題