数组添加异常错误:

时间:2015-11-24 07:24:11

标签: c#

我的编码有什么问题?

这是我添加二维数组的编码。当我调试我的编码时,系统发生了未处理的异常system.format.something ...

代码是..

static void Main(string[] args)
{
    int[,] a = new int[4, 4] 
    { { 1, 1, 1, 1 },
      { 1, 1, 1, 1 }, 
      { 1, 1, 1, 1 }, 
      { 1, 1, 1, 1 } };


    int[,] b = new int[4, 4]
    { { 2, 2, 2, 2 },
      { 2, 2, 2, 2 }, 
      { 2, 2, 2, 2 }, 
      { 2, 2, 2, 2 } };

    int[,] c = new int[4, 4];

    for (int row = 0; row < 4; row++)
    {
        for (int col = 0; col < 4; col++)
        {
            c[row, col] = a[row, col] + b[row, col];                
        }
    }

    for (int row = 0; row < 4; row++)
    {

        for (int col = 0; col < 4; col++)
        {
            Console.Write("The value of {0},{1}", c[row, col]);                   
        }
    }
}

2 个答案:

答案 0 :(得分:3)

您正在使用Console.Write并指定两个参数,但您只能传递一个

此:

Console.Write("The value of {0},{1}", c[row, col]); 

应该遵循:

Console.Write("The value of row: {0}, column: {1} is {2}", row, col, c[row, col]); 

答案 1 :(得分:3)

在LINQPad中运行该代码,我在FormatException行上得到Console.Write

  

<强>出现FormatException
  索引(从零开始)必须大于或等于零且小于参数列表的大小。

这是因为你有一个格式字符串,它接受两个参数,但你只传递一个。尝试将该行更改为

Console.WriteLine("The value of {0},{1} is {2}", row, col, c[row,col]);