查看完整版本: C sharp基礎觀念壞掉了...
頁: [1]

HANK_CHAN 發表於 2019-7-14 11:20 AM

C sharp基礎觀念壞掉了...

最近看一本叫做深入淺出c#的書

厚的要死要很難讀
而且還刷新以前的觀念



總之依照自己從上面理解的
結果應該是如果有設兩變數x、y
若y=x ,那之後調其中一個變數,兩者的值也是一樣的?

不過實際出來是不一樣
如同以往自己的判斷...


是說它一直提到"參考指向"、"參照物件"...
但怎麼的結果顛覆認知又難懂?
<div></div>

tryit244178 發表於 2019-7-14 12:10 PM

因為你更改的是x的值而不是y的值…所以才期望結果不一樣?

tryit244178 發表於 2019-7-14 03:42 PM

本帖最後由 tryit244178 於 2019-7-14 03:53 PM 編輯

嗯?我的意思思是,你最後顯示到控制台的是y值。但改變的是x值,y值沒改變。所以結果不是期望的那樣。雖然我不知在c#裡是怎樣,但在vb.net裡y=x是指將x的值複製一份到y,而不是像c++可以用*和&指向或參照某個位址。vb.net在函式裡傳遞參數時可以用valref達到相同的效果,c#就…範圍外,不可考…

jackyo04 發表於 2019-7-15 08:30 AM

不會是一樣的..String x = "Apple";
String y = x; // y = Apple

x += " and Banana"; // x = Apple ane Banana

// 除非這時候你再讓y = x,否則 y 會是你一開始所定義的 "Apple"你沒有特定的表示,方法,譬如c++,指標類的東西
直接由上往下看就對了
就跟數學加減法一樣,由左而右...

aquarius6913 發表於 2019-7-21 11:43 PM

我看不出來哪裡有錯?

這程式碼沒啥問題
//1. 宣告字串x = "Apple"
String x = "Apple";

//2. 宣告字串y = x, 所以y = "Apple"
String y = x;

//3. 給值x = x + " and Banana", 所以 x = "Apple ane Banana"
x += " and Banana";

//4. 印出y並換行, y = "Apple"
Console.WriteLine(y)很淺顯易懂

字串y在宣告時候就給值了

之後都沒變過<br><br><br><br><br><div></div>
頁: [1]