Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据datetime将两个文件比较到分钟?_C#_Linq - Fatal编程技术网

C# 根据datetime将两个文件比较到分钟?

C# 根据datetime将两个文件比较到分钟?,c#,linq,C#,Linq,我需要比较两个文件的基础上datetime到分钟消除秒,而比较 public class FileCompareLastwritetime : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo> { public FileCompareLastwritetime() { } public bool Equals(System.IO.FileIn

我需要比较两个文件的基础上datetime到分钟消除秒,而比较

public class FileCompareLastwritetime : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo>
        {
            public FileCompareLastwritetime() { }
            public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2)
            {
                return f1.LastWriteTime == f2.LastWriteTime;
            }
            public int GetHashCode(System.IO.FileInfo fi)
            {
                string s = String.Format("{0}", fi.LastWriteTime);
                return s.GetHashCode();
            }
        }
公共类文件ComparelastWriteTime:System.Collections.Generic.IEqualityComparer
{
公共文件CompareAlsWriteTime(){}
public bool等于(System.IO.FileInfo f1、System.IO.FileInfo f2)
{
返回f1.LastWriteTime==f2.LastWriteTime;
}
public int GetHashCode(System.IO.FileInfo-fi)
{
string s=string.Format(“{0}”,fi.LastWriteTime);
返回s.GetHashCode();
}
}
那么:

public class FileCompareLastwritetime
        : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo> {
    public FileCompareLastwritetime() { }
    public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2) {
        return ToMinute(f1.LastWriteTime) == ToMinute(f2.LastWriteTime);
    }
    public int GetHashCode(System.IO.FileInfo fi) {
        return ToMinute(fi.LastWriteTime).GetHashCode();
    }
    static DateTime ToMinute(DateTime value) {
        return new DateTime(value.Year, value.Month, value.Day,
                 value.Hour, value.Minute, 0, value.Kind);
    }
}
public类FileCompareLastwritetime
:System.Collections.Generic.IEqualityComparer{
公共文件CompareAlsWriteTime(){}
public bool等于(System.IO.FileInfo f1、System.IO.FileInfo f2){
返回ToMinute(f1.LastWriteTime)=ToMinute(f2.LastWriteTime);
}
public int GetHashCode(System.IO.FileInfo-fi){
返回ToMinute(fi.LastWriteTime).GetHashCode();
}
静态DateTime ToMinute(DateTime值){
返回新的日期时间(value.Year、value.Month、value.Day、,
value.Hour,value.Minute,0,value.Kind);
}
}
那么:

public class FileCompareLastwritetime
        : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo> {
    public FileCompareLastwritetime() { }
    public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2) {
        return ToMinute(f1.LastWriteTime) == ToMinute(f2.LastWriteTime);
    }
    public int GetHashCode(System.IO.FileInfo fi) {
        return ToMinute(fi.LastWriteTime).GetHashCode();
    }
    static DateTime ToMinute(DateTime value) {
        return new DateTime(value.Year, value.Month, value.Day,
                 value.Hour, value.Minute, 0, value.Kind);
    }
}
public类FileCompareLastwritetime
:System.Collections.Generic.IEqualityComparer{
公共文件CompareAlsWriteTime(){}
public bool等于(System.IO.FileInfo f1、System.IO.FileInfo f2){
返回ToMinute(f1.LastWriteTime)=ToMinute(f2.LastWriteTime);
}
public int GetHashCode(System.IO.FileInfo-fi){
返回ToMinute(fi.LastWriteTime).GetHashCode();
}
静态DateTime ToMinute(DateTime值){
返回新的日期时间(value.Year、value.Month、value.Day、,
value.Hour,value.Minute,0,value.Kind);
}
}
Math.Abs(time1.Subtract(time2.TotalMinutes)<1
Math.Abs(time1.Subtract(time2.TotalMinutes)<1

@Marc Gravel:这里我比较两个文件的lastwritetime…它将比较到秒..我需要比较到分钟..@Marc Gravel:这里我比较两个文件的lastwritetime…它将比较到秒..我需要比较到分钟..使用jon skeets的答案,但对我不起作用..@bala3569定义“不起作用”。。。它做它声称的事情;四舍五入(向下)到一分钟。使用jon skeets的答案,但它对我不起作用…@bala3569定义“不起作用”。。。它做它声称的事情;四舍五入(向下)到一分钟。这样一个
Equals
实现将无法满足传递性的要求-即
a.Equals(b)和b.Equals(c)=>a.Equals(c)
@Ani,这不是数学上的平等实现,你应该对此半模糊地思考,我认为在这种情况下,真正的方法是这样的,因为,即按精确分钟比较创建时间不合适:a:10:50:00和b:10:49:50分钟比较返回false,但对于c:10:50:00和10:50:50,按精确分钟比较返回true,在我看来,这不是一个合适的答案。我认为你找不到任何好的0-1相等的答案。这是一个列出的指南。“如果(x.Equals(y)和&y.Equals(z))返回true,那么x.Equals(z)返回true。”@Ani,我知道你想说什么,我想你知道我说了什么,只要想想这个问题离开MSDN,如果你以另一种方式思考,我们处于相反的位置。这样的
Equals
实现将无法满足传递性的要求-即
a.Equals(b)和b.Equals(c)=>a.Equals(c)
@Ani,这不是数学上的平等实现,你应该对此进行半模糊的思考,我认为在这种情况下,真正的方式是这样的,因为,即按精确分钟比较创建时间不合适:a:10:50:00和b:10:49:50分钟比较返回false,但对于c:10:50:00和10:50:50,按精确分钟比较返回true,在我看来,这不是一个合适的答案。我认为你找不到任何好的0-1相等的答案。这是一个列出的指南。“如果(x.Equals(y)&&y.Equals(z))返回true,那么x.Equals(z)返回true。”@Ani,我知道你想说什么,我想你知道我说了什么,只要想想这个问题,离开MSDN,如果你从另一个角度想,我们是对立的。