student實體類:
public
class student
public
int age
}
準備乙個list列表,裡面放兩個元素。
list
originallist= new
list
();student s1 = new student();
originallist.add(s1);
student s2 = new student();
originallist.add(s2);
需求:深複製該列表。
定義乙個深複製list列表的方法。
public
list
copylist(list
originallist)
return
list;
}
呼叫該方法即可得到乙個新的列表。
listnewlist =copylist(originallist);
最後測試:
測試是否真的是深複製,而非淺複製。只要修改originallist(比如清空該列表),觀察newlist是否隨之變化。
// 測試:修改源列表
originallist[0].age = 15
;// 觀察新列表是否有變化
system.console
.writeline(newlist[0].age);
其他參考:
C List列表的深複製,引用型別深複製
需求 深複製該列表。student實體類 public class student public int age 準備乙個list列表,裡面放兩個元素。list originallist new list student s1 new student originallist.add s1 stud...
C List引用型別的轉殖
有時候我們想轉殖乙個list去做別的事,而不影響原來的list,我們直接在list後面加上小點點,發現並沒有clone這樣的擴充套件函式。這時候就只有自己擴充套件了。嘗試了三種方式,測試都通過了,至於效能方面我還沒有做測試。一 反射 1 public static listclone this li...
Python 列表切片陷阱 引用 複製與深複製
python 列表的切片和賦值操作很基礎,之前也遇到過一些坑,以為自己很懂了。但今天刷 codewars 時發現了乙個更大的坑,故在此記錄。python 列表賦值 複製 值 還是 引用 很多入門 python 的人會犯這樣乙個錯誤 在賦值操作 中搞不清是賦了 值 還是 引用 比如 a 1 2,3 b...