Object对象中Equal方法的一些总结

对于.NET中的值对象和引用对象在使用Equal方法中总是有区别的.从字面上也可以理解得出来,值对象使用Equal方法的时候,判断的是值对象的值是否相等,而引用对象使用Equal方法时是判断的是引用对象的内存地址是否相同.用一个测试来看看结论吧.

 


class Class1
 {

  [STAThread]
  static void Main(string[] args)
  {
   test1 t1 = new test1();
   test1 t2 = new test1();
   test1 t3 = t1;
   Console.WriteLine(t1.Equals(t2));
   Console.WriteLine(t1.Equals(t3));
   string s1 = "tt";
   string s2 = "tt";
   Console.WriteLine(s1.Equals(s2));
   int i1 = 10;
   int i2 = 10;
   Console.WriteLine(i1.Equals(i2));
   object o1 = (object)i1;
   object o2 = (object)i2;
   Console.WriteLine(o1.Equals(o2));
   test2 t21 = new test2();
   test2 t22 = new test2();
   Console.WriteLine(t21.Equals(t22));
  }
 }

 class test1
 {
 }

 struct test2
 {
 }


结果:

False
True
True
True
True
True
Press any key to continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值