Заполнение произвольного ранга массива - C#

Узнай цену своей работы

Формулировка задачи:

Создаем массив произвольного ранга:
class MyMatrix
    {
        Array m;
 
        public MyMatrix(params int[] a)
        {
            m = Array.CreateInstance(typeof(int), a);
        }

    }
Вопрос как нам перебрать элементы с возможностью их редактирования(присваивать значения) не прибегая к индексам? т.е. нужен какой-то указатель (аля getenumerator) который мы будем перемещать и задавать значения.

Решение задачи: «Заполнение произвольного ранга массива»

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();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы