[問題] 陣列複製 copy copyto clone

看板C_Sharp (C#)作者時間9年前 (2016/04/30 17:41), 9年前編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
大大們好 初新者問題>< 還希望各位大大解答 如題 array中有三種複製陣列的方式 我想讓一個陣列儲存起來 不去更動 假設說將a二維陣列的所有值存至b二維陣列 然後b陣列會做運算(數值會變動),但運算完後a陣列的值也會跟著改變 copy clone tocopy都有試過 但都會有這個問題 希望大大們解答 感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.74.96.119 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1462009284.A.CDD.html

04/30 18:27, , 1F
你的陣列裝的是不是Class? 應該是By Reference的問題
04/30 18:27, 1F

04/30 19:40, , 2F
請自己實作deep clone
04/30 19:40, 2F

04/30 23:04, , 3F
因為b array是指向a array的記憶體位址
04/30 23:04, 3F

05/01 01:57, , 4F
程式碼貼出來看你怎麼複製的
05/01 01:57, 4F
謝謝大家的回答 附上程式碼 double[][] initialA1 = (double[][])A1.Clone(); ※ 編輯: DaiJyou (203.67.141.144), 05/01/2016 23:35:38

05/02 00:35, , 5F
Hi, 可參考 msdn 說明,https://goo.gl/0Ka99l
05/02 00:35, 5F
謝謝大家的協助 把矩陣改為 double[,] initialA1 = (double[,])A1.Clone(); 就成功了 0.0 ※ 編輯: DaiJyou (180.176.130.205), 05/07/2016 09:43:08
文章代碼(AID): #1N97t4pT (C_Sharp)
文章代碼(AID): #1N97t4pT (C_Sharp)