Скажем, гипотетически (чтение: Я не думаю, что мне на самом деле нужно это, но мне любопытно как идея, вытолканная в мою голову), каждый хотел массив памяти, отложенной локально на стеке, не на "куче". Например, что-то вроде этого:
private void someFunction()
{
int[20] stackArray; //C style; I know the size and it's set in stone
}
Я предполагаю, что ответ нет. Все, что я смог найти, является основанными на "куче" массивами. Если бы кому-то должно было быть нужно это, то там были бы какие-либо обходные решения? Там какой-либо путь состоит в том, чтобы отложить определенное количество последовательной памяти в "типе значения" путь? Или являются структуры с именованными параметрами единственным путем (как способ, которым Матричная структура в XNA 16 назвала параметры (M11-M44))?
То, что вам нужно, это stackalloc
; к сожалению, вы можете использовать его только в небезопасном коде, что означает, что он не будет работать в контексте ограниченных разрешений.
Вы также можете создать struct с необходимым количеством переменных в нем для каждого типа элемента, но вам понадобится новый тип для каждого размера 'массива', который вы хотите использовать
.