C#判断两个对象是否相等

 首先在C#中判断对象相等,是对于引用类型的,两个 对象用==,只是判断他们的内存地址是否一样
对于字符串或者数值,判断相等只需要用==运算

引用类型
1.对一个类只是实例化一次
 向那些只有赋值没有new实例化一个对象的话,拿这些对象指的都是一个地址
 People p1=newPeople();
 People p2=p1;
 People p3;
 p3=p2;
 则这些p1,p2,p2,完全指向是一个内存地址,他们是同一个对象,所有用==或者equal方法判断都是返回true
 2.对一个类实例化多次但是每次实例化的初值都是一样的
 申明两个对象,每个对象都实例化一次,并且把每个类的数据即字段或者属性都是设置统一初始值
 People p1=new People();
 p1.Name="haha";
 People p2=new People();
 p2.Name="haha";
 假设People类只有一个属性就是Name,那我们将两个对象都实例化了,但是p1==p2得到的是false,则对象用==运算符,只是对对象名的引用地址就行比较,因为两次实例化,在内存空间就分配了不一样的空间,即不同的地址,尽管他们内容中的数据是一样的

两个内存地址相等,那么他们就是两个对象实质上为同一对象,只是这两个对象在程序中拥有不同的名字如果比较不同对象是否相等(不是指地址相等),就重写Object对象的Equal方法,在里面具体判断两个对象的数据是否相等

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值