使用方法2维数组?

时间:2014-04-10 02:02:04

标签: c# arrays methods multidimensional-array

在(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);
    }

3 个答案:

答案 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));

在你的调用代码中,运行程序,检查输出窗口,你的总和应该在输出窗口中返回。