c# – .net对象相等
发布时间:2020-12-15 04:01:26 所属栏目:百科 来源:网络整理
导读:让我们说我们有两个对象o1 o2定义为System.Object,在我的机构o1 o2可以是以下任何类型: 字符串 Int32 双人 布尔值 DateTime DBNull 那么如何检查o1 o2相同,因此是相同的对象或两者具有相同的类型值. 我可以做o1 == o2或者我需要做o1.Equals(o2)还是别的什么
让我们说我们有两个对象o1& o2定义为System.Object,在我的机构o1& o2可以是以下任何类型:
>字符串 那么如何检查o1& o2相同,因此是相同的对象或两者具有相同的类型&值. 我可以做o1 == o2或者我需要做o1.Equals(o2)还是别的什么? 谢谢, AJ 解决方法
我建议你使用
object.Equals(o1,o2) 因为这样也可以应付无效. (假设你想要两个空引用比较等于.) 你不应该使用==,因为运算符不是多态应用的;类型overload ==但是它们不覆盖它(没有什么可以覆盖).如果你使用 o1 == o2 这将比较它们的引用标识,因为变量被声明为类型对象. 使用o1.Equals(o2)将会工作,除非在o1为null的情况下,它会抛出NullReferenceException. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |