В настоящее время у меня есть класс, который содержит массив и целое число.Можно ли получить массив?
У меня есть миллионы этих объектов, и я хотел бы сохранить память, просто имея массив, поэтому я сохраняю 12 байт для каждого объекта (не выделяя оболочку класса для каждого из них). Это сэкономит массу памяти.
К сожалению, мне также нужно сохранить целое число. Я думал просто хранить его в первом индексе, но он немного грязный. Я надеялся, что я могу просто извлечь из массива и вставить int-член в подкласс, но, видимо, это запрещено компилятором.
Есть ли альтернативы? Я полагаю, что я мог бы просто скопировать и вставить класс массива из структуры sourceource и добавить мое свойство, но это похоже на излишний.
Nope. Используйте композицию вместо наследования. Если вам нужен синтаксис типа массива, выполните указатель. –
Проблема с композицией заключается в том, что объект имеет 12 байтов, поэтому объект с массивом имеет 24 байта (потому что массив также является ссылочным типом), поэтому состав - это то, что я сейчас делаю, что мне бы хотелось получить альтернативу для экономии памяти. –
Я понимаю, что вы не можете просто использовать '.Length', потому что ваши массивы могут содержать меньше элементов, чем объявленный размер массива? – mhawke