我在使用以下代码时遇到问题:
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时,如何将代码固定到哪里,整个数组将以相反的顺序显示?
答案 0 :(得分:0)
您既不会返回整个数组,也不会迭代数组结果,并且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);
答案 1 :(得分:0)
因为您的方法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);