看板 C_Sharp 關於我們 聯絡資訊
小弟現在在寫一個遞迴函式 需要不斷地從函式呼叫中取得內容更新後的陣列 我的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
YahooTaiwan: 改用 ref 05/16 01:32
GoalBased: 你是要在f1取得還f2? 05/16 18:11
brainpower: 在f1取得 05/17 01:27
GoalBased: 可以你把的code寫的完整點嗎 05/17 01:33
YahooTaiwan: 其實主要問題是你搞混 out 和 ref 的使用時機,所以 05/17 04:24
YahooTaiwan: 也不需再看程式碼了,改用 ref 就正確了 05/17 04:24
YahooTaiwan: 有一堆文章在講解兩者的使用時機與差異,可以去找 05/17 04:24
GoalBased: 問一下樓上,他的需求有需要用到ref嗎 05/17 14:59
YahooTaiwan: 若要用在遞迴裡的話,需要 05/17 22:48
brainpower: 我是看MSDN的內容來寫...只是沒有看得很懂 05/18 17:32