Создает многомерный массив Array заданного типа Type с заданными длинами - C#
Формулировка задачи:
метод CreateInstance, по описанию в msdn, должен делать следующее:
Создает многомерный массив Array заданного типа Type с заданными длинами по измерениям и нижними границами.
(что удобно, можно создавать массив с индексацией от 1)
создаю вот таким кодом:
но обращаться к элементам такого массива, как я понял можно только с помощью таких методов как SetValue, GetValue.
при обращении же обычным способом
вылетает ошибка: Невозможно применить индексирование через [] к выражению типа "System.Array"/
int[] Len = {2}; //длина int[] Ind = {1}; // начальный индекс Array myArray=Array.CreateInstance( typeof(int), Len, Ind);
myArray[1]=55;
Вопрос:
можно ли что нибудь сделать с этим массивом, чтобы к нему можно было обращаться обычным способом?(через индексы [], а не через методы)Решение задачи: «Создает многомерный массив Array заданного типа Type с заданными длинами»
textual
Листинг программы
class MyArray<T> { private T[] _array; private uint _lowerBound; public T this[int i] { get { return _array[i - _lowerBound]; } set { _array[i - _lowerBound] = value; } } public MyArray( int length, uint lowerBound ) { _array = new T[length]; _lowerBound = lowerBound; } } class Program { static void Main( string[] args ) { MyArray<int> m = new MyArray<int>( 2, 1001 ); m[1001] = 2; m[1001] = 3; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д