所以我正在閱讀Jon Skeet關於C#中參數傳遞的文章,他做了下面的例子來解釋引用類型是如何工作的,但是我無法將它包裹起來。需要關於參考類型的一些說明
StringBuilder first = new StringBuilder();
first.Append("hello");
StringBuilder second = first;
first.Append(" world");
first = new StringBuilder("goodbye");
Console.WriteLine(first); // Prints goodbye
Console.WriteLine(second); // Still prints hello world
當我們分配second
變量的值,我們只是值設置爲StringBuilder
對象的引用?
而且作爲獎金的問題,如果我們要改變second
變量到別的參考(將其設置爲例如空值),將在參考第一StringBuilder
對象則是無法彌補的?或者有沒有辦法檢索某個類型的所有創建的對象?
你的獎金問題不是很清楚。你是說如果你願意的話:'StringBuilder second = first; second = null;'例如? –
正是這正是我的意思,我會編輯澄清。 –