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