在C#中,以下「容器」保存引用類型的引用或對象本身?隊列保持引用或對象值?
Queue
Stack
Array
List
Vector
例如,如果我執行以下操作:
Queue<MyItem> item = new Queue<MyItem>(100);
MyItem mit = new MyItem();
item.Enqueue(mit);
的mit
的參考被複制到item
或mit
對象本身已被移動到item
存儲器的地址?
如果我說
item = null;
它不會設置所有對象中item
爲null。我對嗎?
其他容器是一樣的嗎? – 5YrsLaterDBA 2010-07-19 17:46:15
@ 5YrsLaterDBA是,只要項目是引用類型 – msarchet 2010-07-19 17:51:43
即使對於基元(值類型)?如果我實例化: '隊列 item =新隊列(100);' 它會自動向對象引用int並使用引用或存儲值嗎?這將是一個真正的低谷,花費更多的內存比它應該:( –
DanteTheSmith
2017-04-18 07:29:31