我被告知,當你將一個對象傳遞給一個方法時,它被「通過值」傳遞給 。我做了一個小測試,以檢查它: Point p = new Point(1, 1);
Circle c = new Circle(p);
p.x = 999;
Console.WriteLine(c.p.x);
上面打印「999」的代碼,但我認爲該對象被複制到方法 我一直在說,如果你不使用「裁判「(或」out「)方法獲得對象
我真的不知道,是通過引用(或指針傳遞)通有史以來「最佳」的解決方案語義明智?特別是對於原始類型,感覺就像: int x = 5;
x = foo(x);
比 int x = 5;
foo(x);
我首先想到的代碼需要返回錯誤代碼更自然,但後來我使用異常機制始終是實現理想(?)在此。爲什麼人們希望通過參考來傳遞真實的理由嗎? - 現在讓速度超出範圍。
我想按值傳遞一個ImageIcon實例,因爲我們知道默認情況下它是按值傳遞引用。有什麼方法可以解決這個問題嗎? ImageIcon img1 = new ImageIcon();
ImageIcon img2 = new ImageIcon();
img1 = img2; // both share the same reference.......
我試着使用的ImageIcon的ge