本帖最后由 李荣壮 于 2011-12-31 19:08 编辑
不要把别的语言中的理解带到另外一种语言中来, 因为它们实现过程可能是有差异的....
使用Reflector查看Equals()方法的实现过程, 你会发现它也是通过比较"=="来实现的
所以你得到的结果完全没有问题
int.Equals()方法有两个重载, 你仔细看它们的智能提示的信息:
int.Equals(int obj) 返回一个值, 该值指示此实例是否与指定的System.Int32值相等.
你第二个结果为True, 是因为它调用 的是这个方法, 比较的值是否相同
int.Equals(object obj) 返回一个值, 该值指示此实例是否与指定的对象相等.
你第三个结果为False, 是因为它调用 的这个方法, 比较的两者的对象是否相等, int对象当然不会和string对象相同了.
|