是否有使用的默认IEqualityComparer<T>实现ReferenceEquals?
EqualityComparer<T>.Default使用ObjectComparer,它使用object.Equals().在我的例子中,对象已经实现IEquatable<T>,我需要忽略并仅通过对象的引用进行比较.
我有一个C++/CX应用程序正在处理文件中的一些数据.它有一个字符串,表示用于保存日期的文化,它有一些日期.我需要将它们从字符串转换为Platform :: DateTime.我听说 Windows :: Globalization :: DateTimeFormatting是要使用的类,但我没有看到如何使用它.有人有例子吗?
我已经阅读过这篇文章,但它没有回答我的问题.
MSDN 说:
我们建议您从EqualityComparer(Of T)类派生而不是实现IEqualityComparer(Of T)接口,因为EqualityComparer(Of T)类使用IEquatable(Of T).Equals方法而不是Object来测试相等性.等于方法.
但如果我看一下实现,他们都使用泛型类型:
public class AAA:IEqualityComparer<Box>
{
public bool Equals(Box x, Box y)
{
}
public int GetHashCode(Box obj)
{
}
}
public class BBB : EqualityComparer<Box>
{
public override bool Equals(Box x, Box y)
{
}
public override int GetHashCode(Box obj)
{
}
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么?