我有一個類包含一些屬性,包含列表。這些列表可以填充一些可能相當佔用內存的Sharepoint對象。C#託管代碼引用類型問題
我通過通過這個類的列表屬性,以我的功能是這樣的:
public void InsertFixedLineItems(CacheBundle cb)
{
//work here
}
正如你所看到的問題的類型稱爲CacheBundle,並在運行時它的人口稠密。
爲了方便使用我想進一步這樣定位的準確列表屬性:
public void InsertFixedLineItems(CacheBundle cb)
{
List<XYZCacheItem> XYZCacheItems = cb.xyzCacheItems;
List<YYYCacheItem> YYYCacheItems = cb.YYYCacheItems;
List<ZZZCacheItem> ZZZCacheItems = cb.ZZZCacheItems;
}
我的問題是,這種分配期間以上爲創造每個屬性的副本,基本上每個集合的代碼。這樣做會浪費內存?
或者是XYZCacheItems只是某種類型的指向cb.xyzCacheItems的指針。
如果不是,是否可以創建一個「指針變量」,這樣如果我更新XYZCacheItems - > cb.xyzCacheItems也會被更新?同時不使用額外的(或很少的)內存,並且有兩個任務。