1
私は、これらのクエリのための分の結果件まで丸めずに2つのファイルを比較した場合分のdatetimeに基づいて2つのファイルを比較することに問題がありますか?
var queryList1Only3 = (from file in list1 select file).Except(list2, myFileCompare2);
var queryList1Only33 = (from file in list2 select file).Except(list1, myFileCompare2);
は
12/14/2010 4:14:10 PM C:\xml\Tracker.xml
10/13/2010 3:00:27 PM D:\xml\Tracker.xml
ですが、私は分件まで日時を丸める場合queryList1Only3の結果が
12/14/2010 4:14:10 PM C:\xml\Tracker.xml
です2番目のクエリは、C:\xml\Tracker.xml
というファイルのみを変更したため空ではなく何も返しません。もう1つのファイルは変更されていませんES ...
と
public class FileCompareLastwritetime : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo>
{
public FileCompareLastwritetime() { }
public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2)
{
return RoundToMinute(f1.LastWriteTime) == RoundToMinute(f2.LastWriteTime);
}
public int GetHashCode(System.IO.FileInfo fi)
{
return RoundToMinute(fi.LastWriteTime).GetHashCode();
}
}
public static DateTime RoundToMinute(DateTime time)
{
return new DateTime(time.Year, time.Month, time.Day,
time.Hour, time.Minute, 0, time.Kind);
}
任意の提案?
EDIT:日時に等しい
IEnumerable<System.IO.FileInfo> list1 = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories);
IEnumerable<System.IO.FileInfo> list2 = dir2.GetFiles("*.*", System.IO.SearchOption.AllDirectories);
このリンクを参照してください...あなたはさまざまなオプションを得ることができます... http://stackoverflow.com/questions/2956748/datetime-comparison-precision/2956818 –
@The King:私の問題を教えてくださいコード?? – bala3569
詳細を追加できますか?リストfile1とfile2はどこから来たのですか?その結果の最初のセットは両方のクエリの結果か、ただ1つの結果だけですか?もしそうなら、どちらですか? – Rikalous