在(private int>>> TotArray<<(int [,] array)中获取错误) 这告诉我,我不能回报价值。谁能帮助我并告诉我我做错了什么?
这段代码的作用是它应该添加这个二维数组的所有数字。 但目前它什么也没做。
int[,] A = new int[3, 4]
{
{ 4, -5, 12, -2},
{ -9, 15, 19, 6},
{ 18, -33, -1, 7}
};
public Form1()
{
InitializeComponent();
}
private int TotArray(int[,] array)//<<<<<< error
{
int sum = 0;
int rows = array.GetLength(0);
int cols = array.GetLength(1);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
sum += array[i, j];
}
}
richTextBox1.Text = ("The sum of the array is " + sum.ToString() + ".");
}
private void button1_Click(object sender, EventArgs e)
{
TotArray(A);
}
答案 0 :(得分:2)
您的返回类型为int
,但您没有从方法中返回任何内容。如果您不想返回任何内容,请将更改返回类型更改为void
或返回某事。
private int TotArray(int[,] array)
{
int sum = 0;
int rows = array.GetLength(0);
int cols = array.GetLength(1);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
sum += array[i, j];
}
}
return sum;
}
private void button1_Click(object sender, EventArgs e)
{
int sum = TotArray(A);
richTextBox1.Text = string.Format("The sum of the array is {0}.", sum);
}
答案 1 :(得分:2)
我认为您收到错误,因为您的TotArray方法实际上并未返回int。
如果将其切换为以下内容会发生什么:
private void TotArray(int[,] array)
如果没有解决问题,您可以发布错误消息吗?
答案 2 :(得分:0)
把
return sum;
在你的TotArray方法结束时。
然后放置(用于测试)
Debug.WriteLine(TotArray(A));
在你的调用代码中,运行程序,检查输出窗口,你的总和应该在输出窗口中返回。