Мне нужно перебрать массив произвольного ранга. Это и для чтения, и для записи, поэтому GetEnumerator
не сработает.
Array.SetValue(object, int)
не работает с многомерными массивами. Array.SetValue(object, params int[])
потребовала бы чрезмерной арифметики для перебора многомерного пространства. Также потребуется динамический вызов, чтобы обойти часть params
подписи.
У меня возникает соблазн закрепить массив и выполнить итерацию по нему с помощью указателя, но я не могу найти документацию, в которой говорится, что многомерные массивы гарантированно будут непрерывными. Если у них есть отступы в конце измерения, это не сработает. Я бы также предпочел избегать небезопасного кода.
Есть ли простой способ последовательно обращаться к многомерному массиву, используя только один индекс?
int[]
там, где ожидаетсяparams int[]
. - person dtb   schedule 04.08.2010