Обращение к массиву в методе, который передан как объект - C#
Формулировка задачи:
Передал массив в метод как объект.
В методе можно извлечь свойства этого массива.
Как в таком методе обратиться к элементу массива?
(с условием что размерность (Rank) массива всегда 1)
using System;
class MyClass
{
static void Main()
{
int[] arr1 = new int[6];
myclass2.metod5_arr_ob(arr1);
Console.Read();
}
}
class myclass2
{
static public void metod5_arr_ob(Array arr)
{
int k;
Console.WriteLine(arr.Rank); //к свойствам массива (объекта) обращаться можно
k = arr[1]; // как обратиться к элементу? выдает ошибку
}
}
//ошибка: Невозможно применить индексирование через [] к выражению типа "System.Array"Решение задачи: «Обращение к массиву в методе, который передан как объект»
textual
Листинг программы
static void Main()
{
int[,] mas = new int[3,3];
MyLib.ArrRandom(mas);
mas =(int[,]) metod(mas);
Console.ReadLine();
} //конец Main
static Array metod (Array arr) { //массив передается в метод, как объект
int[,] temp = new int[arr.GetLength(0),arr.GetLength(1)];
temp=(int[,]) arr; //приведение типов.
Console.WriteLine(temp[0,0]); //обратиться к 0,0 элементу массива mas, который передан как объект
temp[0,0]=55; // изменить элемент 0,0 массива mas, который передан как объект
return temp;
}