Заполнение произвольного ранга массива - 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();
}

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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