等于int和short c#返回false
考虑以下代码:
static int x2 = 10; public static void Main() { short y = 10; Console.WriteLine(y.Equals(x2)); //False Console.Read(); }
为什么y.Equals(x2)
返回false
?
Int16.Equals
特定文档
回报价值
如果obj是Int16的实例并且等于此实例的值,则返回true;否则返回false。 否则,是的。
这是我的原始答案,虽然它不适用于此,但我已将其.Equals
了.Equals
方法检查的内容。
从文档中 ,
Equals(Object)方法测试引用相等性
从文档中 ,您可以读到使用的特定过载:
返回一个值,指示此实例是否等于指定的对象。
和:
如果obj是System.Int16的实例并且等于此实例的值,则返回true;否则返回false。 否则,是的。
short
不是int
,因此返回false
。