В System.Data.Linq EntitySet<T>
используется несколько структур ItemList<T>
, которые выглядят следующим образом:
internal struct ItemList<T> where T : class
{
private T[] items;
private int count;
...(methods)...
}
(Потребовал меня дольше, чем нужно, чтобы обнаружить это - не мог понять, почему поле объектов в EntitySet<T>
не выбрасывало ненужные ссылочные исключения!)
Мой вопрос в том, каковы преимущества реализации этого как структуры над классом?