Объект массива должен хранить количество измерений и длину каждого измерения. Таким образом, есть еще как минимум один элемент данных для добавления в вашу модель

а структура памяти массива .NET?

Возьмем, к примеру, этот массив:

Int32[] x = new Int32[10];

Я понимаю, что основная часть массива выглядит так:

0000111122223333444455556666777788889999

Где каждый символ - один байт, а цифры соответствуют индексам в массиве.

Кроме того, я знаю, что существует ссылка на тип и индекс syncblock для всех объектов, поэтому приведенное выше можно настроить следующим образом:

ttttssss0000111122223333444455556666777788889999
        ^
        +- object reference points here

Кроме того, длина массива должна быть сохранена, так что, возможно, это более правильно:

ttttssssllll0000111122223333444455556666777788889999
        ^
        +- object reference points here

Это завершено? Есть ли еще данные в массиве?

Причина, по которой я спрашиваю, состоит в том, что мы пытаемся оценить, сколько памяти займет несколько различных представлений в памяти довольно большого массива данных, а размер массивов варьируется совсем немного, поэтому накладные расходы могут иметь большое влияние в одном решении, но, возможно, не так сильно в другом.

В общем, для массива, сколько там накладных расходов, это в основном мой вопрос.

И домассивы плохие Когда команда приходит в себя, эта часть решения представляет собой статический тип сборки, основанный на разовых ссылках, поэтому использование растущих списков здесь не нужно.

Ответы на вопрос(4)

Ваш ответ на вопрос