Перегрузка метода в классе - C#

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

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

Вопрос, конечно, очень тривиальный, но все же попрошу помощи у более опытных людей. В классе есть метод, задача которого считать массив из консоли.
    class Dimensional
    {
        public static int[] Input()
        {
            Console.WriteLine("Input size of massive: ");
            int n = int.Parse(Console.ReadLine());
            int[] massive = new int[n];
 
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Input A[{0}] element: ", i);
                massive[i] = int.Parse(Console.ReadLine());
            }
 
            return massive;
        }
     }
Вызов соответственно примерно таким образом:
  int[] Array = Dimensional.Input();
Так вот, как мне перегрузить данный метод, чтобы я мог использовать и double массив? По логике придется передавать уже созданный массив (а также количество элементов) в метод в качестве параметра? Ведь только так компилятор определит, какой метод использовать для integer массива и double. Я же

не могу создать

еще один метод
public static double[] Input()

Решение задачи: «Перегрузка метода в классе»

textual
Листинг программы
    class Dimensional
    {
        public static T[] Input<T>()
        {
            Console.Write("Input size of massive: ");
            var n = int.Parse(Console.ReadLine());
            var massive = new T[n];
 
            for (int i = 0; i < n; i++)
            {
                Console.Write("Input A[{0}] element: ", i);
                massive[i] = (T)Convert.ChangeType(Console.ReadLine(), typeof(T));
            }
 
            return massive;
        }
     }

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


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

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

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