我也只是略懂皮毛,自己记录下方便以后看的,各位有任何高见烦请留言,谢谢,抱拳!如果只想要值,可在自建类里也是用这种办法,如a.t = T.Clone() as T; 最后将a返回,即可解决这个问题。本次主谈浅复制,如有形如:首先这段代码实际上是不会运行的,因为浅复制不会复制引用,也就是在print时,实际上t2.ins是空,但t2.i和t2.str是有值的,而且在后续对t2.i和t2.str进行改动时并不会影响到t1的值,这一部分的结果使我们想要的。但实际上类里有属性是引用是难以避免甚至是很常见的,这种情况我们只需要在类b中也实现ICloneable接口并实现同时修改类a中的Clone方法为:由此,t2将获取到t1的所有值,且对t2修改时,并不会影响到t1。
暂无评论