Предположим, что у меня есть массив объектов типа класса InvoiceItem
определено ниже:Должен ли я освобождать память, используемую массивами в C#?
private class InvoiceItem
{
public DateTime InvoiceDate { get; set; }
public int InvoiceID { get; set; }
public byte ItemType { get; set; }
public short Quantity { get; set; }
public string ProductName { get; set; }
public decimal Price { get; set; }
public decimal Amount{ get; set; }
public InvoiceItem(DateTime InvoiceDate,int InvoiceID, short Quantity, string ProductName, decimal Price,decimal Amount, byte ItemType)
{
this.InvoiceDate = InvoiceDate;
this.InvoiceID = InvoiceID;
this.Quantity = Quantity;
this.ProductName = ProductName;
this.Price = Price;
this.Amount = Amount;
this.ItemType = ItemType;
}
}
, и я пытаюсь кэшировать мои элементы массива с именем invoiceItemsCache
private InvoiceItem[] invoiceItemsCache;
каждый раз, когда я хочу, чтобы обновить свой кэш Я переинициализировать мой массив:
invoiceItemsCache = new InvoiceItem[count];
мне нужно сделать что-то Do до релиз память, используемая предыдущим кешем, или это делается автоматически? Я буду признателен, если кто-нибудь даст дополнительную информацию о том, как массивы хранятся и выпускаются на C#, чтобы устранить любые сомнения и путаницу, с которыми я сталкиваюсь.
Может быть, он должен «распоряжаться некоторыми ссылками», но не 'Dispose()' их. Трудный выбор слов. –