等于int和short c#返回false

3 .net c# compare equality

考虑以下代码:

static int x2 = 10;

public static void Main()
{
     short y = 10;
     Console.WriteLine(y.Equals(x2)); //False
     Console.Read();
}
Run Code Online (Sandbox Code Playgroud)

为何y.Equals(x2)回归false

Say*_*yse 9

Int16.Equals具体文件

回报价值

如果obj是Int16的实例并且等于此实例的值,则返回true;否则返回false.否则,错误.


这是我的原始答案,虽然它不适用于此,但我已将其留作该.Equals方法检查的注释

文档中,

Equals(Object)方法测试引用相等性