c语言equals用法,C# 中 equals( ) 和 == 的区别和用法

Equals:

下面的语句中,x、y 和 z 表示不为 null 的对象引用。

* 除涉及浮点型的情况外,x.Equals(x) 都返回 true。

* x.Equals(y) 返回与 y.Equals(x) 相同的值。

* 如果 x 和 y 都为 NaN,则 x.Equals(y) 返回 true。

* 当且仅当 x.Equals(z) 返回 true 时,(x.Equals(y) && y.Equals(z)) 才返回 true。

* 只要不修改 x 和 y 引用的对象,对 x.Equals(y) 的相继调用将返回相同的值。

* x.Equals(null) 返回 false。

==:

对于预定义的值类型,如果操作数的值相等,则相等运算符 (==) 返回 true,否则返回 false。

对于 string 以外的引用类型,如果两个操作数引用同一个对象,则 == 返回 true。

对于 string 类型,== 比较字符串的值。

Equals与==的区别

"==" : 操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

"equals" : 操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

而字符串是一个特殊的引用型类型,在C#语言中,重载了string 对象的很多方法方法(包括equals

总结如下:

1、对于值类型,

你可能感兴趣的:(c语言equals用法)