Типизированный класс System.Array - C#

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

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

В системе классов .NET имеется класс Array, который является предком всех массивов. Однако сам Array работает с Object. Мне же нужен базовый класс для массивов указанного типа, но разных размерностей, т.е. нужен некий класс, способный работать с int[], int[,], int[,,]... Array подходит для этого, но он использует object в качестве базового типа, что при больших массивах сильно сказывается на производительности. Где найти класс типа Array<T>, который обладая функциональностью Array, был бы типизирован? Если перевести все это на язык кода, то требуется что-то, похожее на следующее
AnyDimensionArray<int> arr = AnyDimensionArray<int>.CreateInstance(lengths[]);
arr.SetValue(12, new int[]{1,2}); // т.е. arr[1,2]=12;
                              //arr.SetValue(int value, int index), arr.SetValue(int value, params int[] indices)

Решение задачи: «Типизированный класс System.Array»

textual
Листинг программы
Array a;
int[] ai; int[,] aii; int[,,] aiii; ...
...
 
if (a is int[,]) 
   aii = (int[,])a;
//Теперь можно работать с массивом aii
aii[k,m] = ... ;

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


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

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

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