==和Equals
对于值类型来说判断的是值,对于引用类型来说判断的是堆地址
注意:string 是引用类型(也可看做只读char[]数组)(字符串的不可变性·拘留池)
特殊的值类型(使用==、Equals的时候判断的是堆内容而不是堆地址(指向堆内存),除非重写==和Equals,判断是否同一对象最好用object.ReferenceEquals(o1, o2))

本文详细解析了在C#中==运算符与Equals方法的区别,特别是对于值类型和引用类型的不同处理方式。强调了string作为特殊引用类型的处理,并推荐使用object.ReferenceEquals方法来判断对象是否完全相同。
==和Equals
对于值类型来说判断的是值,对于引用类型来说判断的是堆地址
注意:string 是引用类型(也可看做只读char[]数组)(字符串的不可变性·拘留池)
特殊的值类型(使用==、Equals的时候判断的是堆内容而不是堆地址(指向堆内存),除非重写==和Equals,判断是否同一对象最好用object.ReferenceEquals(o1, o2))

8万+

被折叠的 条评论
为什么被折叠?