Почему не работает код перевертывания массива? - C#

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

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

Помогите пожалуйста новичку рабобраться. У меня задание следующее: создать массив, для которого создать метод, который перевернет его задом наперед(0 индекс равен последнему и т.д.). Следующая программа работает.
 class Program
    {
        static void InvertArray(int[] array)
        {
            int[] mass = new int[array.Length];
            for(int i = 0,j = array.Length-1;i<array.Length;i++,j--)
            {
                mass[i] = array[j];
            }
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = mass[i];
            }
            
        }
 
        static void Main()
        {
            int arrayLength = Convert.ToInt32(Console.ReadLine());
            int[] array = new int[arrayLength];
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = Int32.Parse(Console.ReadLine());
            }
            Console.WriteLine("Вывести не интертованный массив");
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i]);
            }
            Console.WriteLine("Вывести инвертованный массив");
            InvertArray(array);
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i]);
            }
        }
    }
А вот эта нет, при том я не могу понять почему после присвоения array = mass у меня array не стает инвертированным, а остается прежним. Поясните пожалуйста, заранее благодарен.
 class Program
    {
        static void InvertArray(int[] array)
        {
            int[] mass = new int[array.Length];
            for(int i = 0,j = array.Length-1;i<array.Length;i++,j--)
            {
                mass[i] = array[j];
            }
            array = mass;
            
        }
 
        static void Main()
        {
            int arrayLength = Convert.ToInt32(Console.ReadLine());
            int[] array = new int[arrayLength];
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = Int32.Parse(Console.ReadLine());
            }
            Console.WriteLine("Вывести не интертованный массив");
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i]);
            }
            Console.WriteLine("Вывести инвертованный массив");
            InvertArray(array);
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i]);
            }
        }
    }

Решение задачи: «Почему не работает код перевертывания массива?»

textual
Листинг программы
static void InvertArray(ref int[] array)

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


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

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

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