==,ReferenceEquals, Static Equals, Instance Equals
Posted m苗子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了==,ReferenceEquals, Static Equals, Instance Equals相关的知识,希望对你有一定的参考价值。
1. ==
- value type, 比较 value (string 比较 value)
- refrence type, 比较 reference
- 两个都是null,也返回 true.
2. ReferenceEquals:
- 只比较Reference Type, 当两个参数是值类型时,先进性封装, 永远返回false.
- 其他等同于 ==
3. Static Equals
- 首先用 == 比较 两个参数, 如果返回false,则使用instance Equals.
4. Instance Equals
- 值类型装箱后,仍然调用ValueType的 instance Equals 方法, 比较类型和数值。
- 引用类型,则比较Reference.
以上是关于==,ReferenceEquals, Static Equals, Instance Equals的主要内容,如果未能解决你的问题,请参考以下文章
Obj 是 null vs object.ReferenceEquals(Obj, null) [重复]
== equals object.ReferenceEquals
==,ReferenceEquals, Static Equals, Instance Equals
object.Equals与object.ReferenceEquals方法
相等性比较 (== ,Equals,ReferenceEquals)
C# 运算符 ==、StringBuilder.Equals、Object.Equals 和 Object.ReferenceEquals 之间的区别