看板 C_Sharp 關於我們 聯絡資訊
大大們好 初新者問題>< 還希望各位大大解答 如題 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
m339606: 你的陣列裝的是不是Class? 應該是By Reference的問題 04/30 18:27
Litfal: 請自己實作deep clone 04/30 19:40
wanderer1412: 因為b array是指向a array的記憶體位址 04/30 23:04
tp6vul3co: 程式碼貼出來看你怎麼複製的 05/01 01:57
謝謝大家的回答 附上程式碼 double[][] initialA1 = (double[][])A1.Clone(); ※ 編輯: DaiJyou (203.67.141.144), 05/01/2016 23:35:38
wanderer1412: Hi, 可參考 msdn 說明,https://goo.gl/0Ka99l 05/02 00:35
謝謝大家的協助 把矩陣改為 double[,] initialA1 = (double[,])A1.Clone(); 就成功了 0.0 ※ 編輯: DaiJyou (180.176.130.205), 05/07/2016 09:43:08