看板 C_Sharp 關於我們 聯絡資訊
真是慚愧不知道該怎麼辦才好 今天看中華電信的一個考題大概像 void swap(int i, int j) { int t = i; i = j; j = t; return ; } void main(void) { int a = 23, b = 47; swap(a,b); printf("After. a: %d, b: %d\n", a, b); system("PAUSE"); return 0; } 要找出錯誤並改寫 如果是c的話加上指標就結束了 想說c#好像不用指標就換到c#來 結果函數跑完後數值又變回來了 也就是a跟b只在function內有交換 一出function又是原來的a,b了 請問這個情況怎麼回事呢... 想不懂...慚愧 -- 香菸帶不走的寂寞 ζ ξ 你能不能懂 -● ν) √■_ˍ▁▂▃▄▄▃ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.144.249 ※ 編輯: Ansaga 來自: 114.32.144.249 (02/29 07:13)
ssccg:c#的value type一樣是pass by value啊,要加ref 02/29 07:34
Ansaga:不解的原因是平常沒有特別用過ref好像也沒錯過 02/29 07:51
Ansaga:今天想試試這個東西突然怎麼試都錯QQ 02/29 07:52
Ansaga:一定是我東西還寫太少了 感謝大大解惑 02/29 07:52
andymai:有空可以再玩玩傳物件,傳進去之前new和傳進去再new 02/29 10:05
andymai:上面說的是不用ref或out的情形下... 02/29 10:06
qwer820404:C#可以用ref? 02/29 12:48
qwer820404:沒事 我中邪了ㄎㄎ 02/29 12:50
qwer820404:andy大是指說用object[] return嗎 02/29 12:51
stosto:MSDN搜尋一下就有了 02/29 21:17
Elly:ref或out 02/29 23:33
Elly:但out要再加一個參數去接 02/29 23:33
andymai:object[] return?不是~是單純return object... 03/01 00:30