Re: [問題] reference1變數儲存..
※ 引述《tomex (tomex_ou)》之銘言:
: Reference變數可以直接使用即可
: 你皆可把它們想像是同一個
: 唯一例外是把它當function的參數時
: 它是被複製的!
: ClassA a = new ClassA();
: ClassA b = a;
: void MyMethod(ClassA b1) //這兒的b1與上面的b是不同的,其l-value位置不同,
: { //但它們的r-value都是指定a的位置。
: b1 = new ClassA(); // b1指定另一新位置
: {
: bool isEqual = (b==b1); //False
: 上例要達到同一位置,就是用ref這關鍵字。
一個reference複製的問題..跟這個討論串算是相關延伸
所以想說接著問 希望能得到解答..
Reference Type被當成function的參數時是被複製一份的
如果ClassA b1有個Member data也是Referece Type
那function裡的Member data是同一個還是也是被複製一份?
問題好像有點虛@@...
再補一個觀念問題好了
像String這種reference type在重新賦值的時候
例如 strTest = "Hello World";
C#是直接把"Hello World"放到strTest所reference位置;
還是重新把strTest reference到不同地方?
希望各位先進不吝於問題簡單幫忙回答一下...
不然推薦一下有解釋這種基本問題的書籍也可以...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.72.1
→
11/07 14:06, , 1F
11/07 14:06, 1F
→
11/07 14:07, , 2F
11/07 14:07, 2F
→
11/07 14:31, , 3F
11/07 14:31, 3F
→
11/07 22:44, , 4F
11/07 22:44, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章