// Object.Equals和Object.ReferenceEquals方法
int A = 12;
int B = 12;
//比较的是两个对象的值是否相等
Console.WriteLine(Object.Equals((Object)A, (Object)B));
//比较A和B两个引用是否相等呢?很显然,A和B在装箱之后是两个不同的对象
Console.WriteLine(Object.ReferenceEquals((Object)A, (Object)B));
[size=large]note:Equals使用来比较两个对象的值时候相等 , Console.WriteLine(Object.Equals((Object)A, (Object)B));之所以在这里执行一次显式的转换,把A和B转换为一个对象,是因为Equals()的参数决定的,即使不进行显式转换,系统也会自动的进行“装箱”的操作的。ReferenceEquals()方法就不用说了,A和B两个肯定是两个不同的引用。[/size]