[問題] 請教一個out的問題

看板C_Sharp (C#)作者 (懶散的心)時間10年前 (2015/05/16 01:07), 編輯推噓4(406)
留言10則, 3人參與, 最新討論串1/1
小弟現在在寫一個遞迴函式 需要不斷地從函式呼叫中取得內容更新後的陣列 我的code是這樣寫: private void function1(.....) { int[] tempArray = new int[8]; ..... function2(..... , out tempArray); ..... } private void function2(..... , out int[] Array) { ..... function2(..... , out Array); } 這樣子跑的話就只有回傳第一次呼叫function2的Array內容 之後遞迴的都沒有,請問是我的寫法有錯還是觀念有錯? out可以用在遞迴呼叫嗎? 謝謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.1.166 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1431709650.A.3E0.html

05/16 01:32, , 1F
改用 ref
05/16 01:32, 1F

05/16 18:11, , 2F
你是要在f1取得還f2?
05/16 18:11, 2F

05/17 01:27, , 3F
在f1取得
05/17 01:27, 3F

05/17 01:33, , 4F
可以你把的code寫的完整點嗎
05/17 01:33, 4F

05/17 04:24, , 5F
其實主要問題是你搞混 out 和 ref 的使用時機,所以
05/17 04:24, 5F

05/17 04:24, , 6F
也不需再看程式碼了,改用 ref 就正確了
05/17 04:24, 6F

05/17 04:24, , 7F
有一堆文章在講解兩者的使用時機與差異,可以去找
05/17 04:24, 7F

05/17 14:59, , 8F
問一下樓上,他的需求有需要用到ref嗎
05/17 14:59, 8F

05/17 22:48, , 9F
若要用在遞迴裡的話,需要
05/17 22:48, 9F

05/18 17:32, , 10F
我是看MSDN的內容來寫...只是沒有看得很懂
05/18 17:32, 10F
文章代碼(AID): #1LLYVIFW (C_Sharp)
文章代碼(AID): #1LLYVIFW (C_Sharp)