обращение массива с использованием методов и MessageBox.show - PullRequest
0 голосов
/ 13 декабря 2018

У меня проблема со следующим кодом:

public int ReverseArray(int[] rArray)
    {
        int[] array = { 1, 2, 3, 4, 5, 6, 7, 8 };
        Array.Reverse(array);
        foreach (int value in array)
        {
            return (value);
        }
        return 0;
    }

    private void reverseButton_Click(object sender, EventArgs e)
    {
        int[] input = new int[10]; 
        int output = ReverseArray(input);
        MessageBox.Show(""+ output);
    }

Код должен принимать указанный массив (int [] array = {1, 2, 3, 4, 5, 6,7, 8};) и поверните его по нажатию кнопки;однако, когда я нажимаю на кнопку reverseButton, я получаю только число 8, а не весь массив.Я уверен, что так написан мой код reversButton, но я не уверен, как это исправить.Как я могу исправить свой код, чтобы при нажатии кнопки reverseButton весь массив отображался в обратном порядке?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Поскольку ваш метод ReverseArray просто возвращает одно значение:

public int[] ReverseArray(int[] rArray)
{
    int[] array = { 1, 2, 3, 4, 5, 6, 7, 8 };
    Array.Reverse(array);
    return array;
}

Чтобы показать весь массив, вы можете объединить его в некоторую строку:

int[] output = ReverseArray(input);
var message = string.Join(", ", output);

И показать:

MessageBox.Show(message);
0 голосов
/ 13 декабря 2018

Вы не возвращаете весь массив обратно, а также не повторяете результат массива, и Array - это набор элементов, которые вам нужно указать, чтобы каждый элемент получался один за другим и печатался.

Вы можете сделать что-то вроде следующего, чтобы заставить его работать:

public int[] ReverseArray(int[] rArray)
{
        Array.Reverse(array);
        return array;
}

и в случае нажатия кнопки вы можете использовать его:

int[] input = { 1, 2, 3, 4, 5, 6, 7, 8 };
input = ReverseArray(input); 

string items = String.Join(",",input);
MessageBox.Show(items);
...