[問題]宣告物件的問題

看板C_Sharp (C#)作者 (撒尿牛丸)時間8年前 (2016/12/26 16:59), 編輯推噓3(306)
留言9則, 5人參與, 最新討論串1/1
returndt為functioin回傳的datatable 如果我要宣告一個datatable裝returndt的資料時 要使用1. datattable dt = new datatable dt = returndt 還是2. datatable dt = returndt 分別再不同的同事寫的code看過這兩種寫法,不知到哪種才是正確的 這兩種寫法有什麼差別 自己測試過兩種執行起來沒任何差別 請高手幫我解答 謝謝~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.200.9 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1482742759.A.83F.html

12/26 17:50, , 1F
應該是2
12/26 17:50, 1F

12/26 17:53, , 2F
1建立的物件沒用到
12/26 17:53, 2F

12/26 22:50, , 3F
以效果來說應該沒差很多 我覺得直接用2就行
12/26 22:50, 3F

12/27 01:15, , 4F
datattable dt; ← 宣告 new datatable ← 建立新物件
12/27 01:15, 4F

12/27 01:15, , 5F
dt = returndt; ← 賦值
12/27 01:15, 5F

12/27 01:16, , 6F
要接一個已經存在的物件,只要宣告+賦值(2)就好
12/27 01:16, 6F

12/27 01:17, , 7F
另外注意dt是"指向"returndt回來的物件,不是"裝"
12/27 01:17, 7F

12/29 12:03, , 8F
1浪費了一個記憶體的資源 最後結果都是dt=returndt
12/29 12:03, 8F

12/30 22:41, , 9F
2. 1等於是你又NEWㄧ個記憶體空間,然後又沒用到
12/30 22:41, 9F
文章代碼(AID): #1OODldW_ (C_Sharp)
文章代碼(AID): #1OODldW_ (C_Sharp)