C 複製List物件到新的物件列表

2021-09-12 20:30:11 字數 454 閱讀 2494

由於list之間使用相等符號的話,等於是把list的位址給賦值過去了,賦值後的list變化,會改變原有的list,並沒有起到備份原始資料的作用,對於沒有巢狀的list,可以採用遍歷重新賦值的方法去賦值(傳遞的是值型別,並非引用型別),若list內的資料是乙個類的話,賦值的時候需要重新例項化才行。但如果是巢狀的list列表,遍歷這種方法就麻煩了很多。 

/// /// 複製list物件

///

/// 物件型別

/// 源物件

/// 複製後的物件列表

public static listlist_clone(object list)

}

使用方法

var  newlist2 = list_clone(lstcurrentrecord);

將lstcurrentrecordt的列表值賦值給新的列表newlist2

將物件的屬性值複製到新物件中

今日在看jeegboot開源框架的登入校驗的原始碼時,發現如下 public loginuser getuserbyname string username loginuser loginuser new loginuser if sysuser null beanutils.copypropert...

c 複製物件

對於物件轉殖的所設計到知識點 對值型別字段只是簡單的拷貝乙個副本到目標物件,改變目標物件中值型別欄位的值不會反映到原始物件中,因為拷貝的是副本 對引用型字段則是指拷貝他的乙個引用到目標物件。改變目標物件中引用型別欄位的值它將反映到原始物件中,因為拷貝的是指向堆是上的乙個位址 原始物件中對應字段相同 ...

複製乙個List物件

對於值型別的list直接用以下方法就可以複製 listoldlist new list oldlist.add listnewlist new list oldlist 對於引用型別的list無法用以上方法進行複製,只會複製list中物件的引用,可以用以下擴充套件方法複製 static class ...