作者brainpower (懶散的心)
看板C_Sharp
標題[問題] 請教一個out的問題
時間Sat May 16 01:07:27 2015
小弟現在在寫一個遞迴函式
需要不斷地從函式呼叫中取得內容更新後的陣列
我的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