Visual Studio认为Obj.Equals(Obj)并不总是如此。为什么?

时间:2017-09-28 12:20:15

标签: c# visual-studio

我正在为我的代码编写测试用例,并注意到Visual Studio的一些不寻常之处。通常,VS表示无法访问的代码,但在下面的代码中则没有。

Object a = 5;
if(a.Equals(a))
{
   Console.WriteLine("Equal");
}
else
{
   Console.WriteLine("Not Equal");
}

我们是否有可能陷入其他情况,或者是视觉工作室没有抓到的东西?

如果是这样,我们怎么能做到,有什么例子吗?

1 个答案:

答案 0 :(得分:4)

来自MSDN https://msdn.microsoft.com/en-us/library/bsc2ak47(v=vs.110).aspx

  

x.Equals(x)返回true,但涉及浮点类型的情况除外。参见ISO / IEC / IEEE 60559:2011,信息技术 - 微处理器系统 - 浮点运算。