【问题标题】:System.IndexOutOfRangeException When trying populate a two-dimensional array [closed]System.IndexOutOfRangeException 尝试填充二维数组时[关闭]
【发布时间】:2015-01-15 15:22:30
【问题描述】:

谁能告诉我为什么我会从这段代码中收到System.IndexOutOfRangeException

char[,] matrix = new char[80, 18];
for (int i = 0; i < 80; i++)
    for (int j = 0; i < 18; j++)
        matrix[i, j] = '1';

【问题讨论】:

标签: c# arrays


【解决方案1】:

在第二个 for 循环中检查 i 是否小于 18

char[,] matrix = new char[80, 18];
for (int i = 0; i < 80; i++)
    for (int j = 0; i < 18; j++) //<-- Right there.
        matrix[i, j] = '1';

改为:

char[,] matrix = new char[80, 18];
for (int i = 0; i < 80; i++)
    for (int j = 0; j < 18; j++) //<-- Right there.
        matrix[i, j] = '1';

【讨论】:

    【解决方案2】:

    问题:在您的第二个 for 循环中,您使用变量 i 而不是 j 进行检查

    for (int i = 0; i < 80; i++)
    for (int j = 0; i < 18; j++)
                   ^^^ should be j
    

    试试这个:

    for (int i = 0; i < 80; i++)
    for (int j = 0; j < 18; j++)
    

    【讨论】:

      【解决方案3】:

      ...因为你有一个错字 for (int j = 0; i

      【讨论】:

      • 天哪,太尴尬了!对不起!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-27
      • 2016-03-11
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多