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

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

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

Создаем массив произвольного ранга:
Листинг программы
  1. class MyMatrix
  2. {
  3. Array m;
  4. public MyMatrix(params int[] a)
  5. {
  6. m = Array.CreateInstance(typeof(int), a);
  7. }
  8.  
  9. }
Вопрос как нам перебрать элементы с возможностью их редактирования(присваивать значения) не прибегая к индексам? т.е. нужен какой-то указатель (аля getenumerator) который мы будем перемещать и задавать значения.

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

textual
Листинг программы
  1. var handle = GCHandle.Alloc(m, GCHandleType.Pinned);
  2. try
  3. {
  4.     for (int i = 0; i < result.LongLength; i++)
  5.         Marshal.WriteInt32(handle.AddrOfPinnedObject(), i * sizeof(int), i);
  6. }
  7. finally
  8. {
  9.     handle.Free();
  10. }

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


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

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

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы