頁:
[1]
C sharp基礎觀念壞掉了...
最近看一本叫做深入淺出c#的書厚的要死要很難讀
而且還刷新以前的觀念
總之依照自己從上面理解的
結果應該是如果有設兩變數x、y
若y=x ,那之後調其中一個變數,兩者的值也是一樣的?
不過實際出來是不一樣
如同以往自己的判斷...
是說它一直提到"參考指向"、"參照物件"...
但怎麼的結果顛覆認知又難懂?
<div></div> 因為你更改的是x的值而不是y的值…所以才期望結果不一樣? 本帖最後由 tryit244178 於 2019-7-14 03:53 PM 編輯
嗯?我的意思思是,你最後顯示到控制台的是y值。但改變的是x值,y值沒改變。所以結果不是期望的那樣。雖然我不知在c#裡是怎樣,但在vb.net裡y=x是指將x的值複製一份到y,而不是像c++可以用*和&指向或參照某個位址。vb.net在函式裡傳遞參數時可以用valref達到相同的效果,c#就…範圍外,不可考… 不會是一樣的..String x = "Apple";
String y = x; // y = Apple
x += " and Banana"; // x = Apple ane Banana
// 除非這時候你再讓y = x,否則 y 會是你一開始所定義的 "Apple"你沒有特定的表示,方法,譬如c++,指標類的東西
直接由上往下看就對了
就跟數學加減法一樣,由左而右... 我看不出來哪裡有錯?
這程式碼沒啥問題
//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]