c# – .net对象相等

前端之家收集整理的这篇文章主要介绍了c# – .net对象相等前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们说我们有两个对象o1& o2定义为System.Object,在我的机构o1& o2可以是以下任何类型:

>字符串
> Int32
>双人
>布尔值
> DateTime
> DBNull

那么如何检查o1& o2相同,因此是相同的对象或两者具有相同的类型&值.

我可以做o1 == o2或者我需要做o1.Equals(o2)还是别的什么?

谢谢,

AJ

解决方法

我建议你使用
object.Equals(o1,o2)

因为这样也可以应付无效. (假设你想要两个空引用比较等于.)

你不应该使用==,因为运算符不是多态应用的;类型overload ==但是它们不覆盖它(没有什么可以覆盖).如果你使用

o1 == o2

这将比较它们的引用标识,因为变量被声明为类型对象.

使用o1.Equals(o2)将会工作,除非在o1为null的情况下,它会抛出NullReferenceException.

原文链接:https://www.f2er.com/csharp/92975.html

猜你在找的C#相关文章