
.net
文章平均质量分 51
Ray_RuihanWang
Just a coder
展开
-
.NET 中 ==与Equals的区别
在C#中对于值类型的比较不管是用【==】还是【equals】都是对于其内容的比较,也就是说对于其值的比较,相等则返回true 不相等则返回false;但是对于除string类型以外的引用类型 【==】比较的是在对象在栈上的引用是否相同而【equals】则比较的是对象在堆上的内容是否相同示例代码: String str1 = new string('a',1); String str2 = new String('a',1);原创 2022-05-30 17:07:48 · 503 阅读 · 0 评论 -
理解.NET 浅拷贝与深拷贝
Tips:先引入一个观念,赋值和深复制、浅复制并不是一样的,含义是不一样的。1.赋值。指的是 “ = ”。它相当于是给引用对象起一个别名。2.浅拷贝和深拷贝。指的是类实现 ICloneable接口,重写该接口的唯一方法。注意:不管是深度复制还是浅度复制,都是通过ICloneable接口去实现的。为对象创建副本的技术称为拷贝(也叫克隆)。我们将拷贝分为浅拷贝和深拷贝。浅拷贝:将对象中的所有字段复制到新的对象(副本)中。其中,值类型字段的值被复制到副本中后,在副本中的修改不会影响到源原创 2022-05-30 17:02:01 · 653 阅读 · 0 评论