考虑以下代码:
static int x2 = 10;
public static void Main()
{
short y = 10;
Console.WriteLine(y.Equals(x2)); //False
Console.Read();
}
为什么y.Equals(x2)
会返回false
?
答案 0 :(得分:9)
Int16.Equals
具体docs
返回值
如果obj是Int16的实例并且等于此实例的值,则为true;否则为false。否则,错误。
这是我的原始答案,虽然它不适用于此处,但我已将其留作.Equals
方法检查 <的内容。 / p>
来自docs,
Equals(Object)方法测试引用相等性
答案 1 :(得分:4)
从the documentation,您可以读到所使用的特定过载:
返回一个值,指示此实例是否等于指定的对象。
和
如果obj是System.Int16的实例并且等于此实例的值,则为true;否则为false。否则,错误。
short
不是int
,因此返回false
。