在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