Заполнение произвольного ранга массива - C#
Формулировка задачи:
Создаем массив произвольного ранга:
Вопрос как нам перебрать элементы с возможностью их редактирования(присваивать значения) не прибегая к индексам?
т.е. нужен какой-то указатель (аля getenumerator) который мы будем перемещать и задавать значения.
class MyMatrix
{
Array m;
public MyMatrix(params int[] a)
{
m = Array.CreateInstance(typeof(int), a);
}
}Решение задачи: «Заполнение произвольного ранга массива»
textual
Листинг программы
var handle = GCHandle.Alloc(m, GCHandleType.Pinned);
try
{
for (int i = 0; i < result.LongLength; i++)
Marshal.WriteInt32(handle.AddrOfPinnedObject(), i * sizeof(int), i);
}
finally
{
handle.Free();
}