从键盘设置2D数组中的值

时间:2014-05-02 19:17:16

标签: c# arrays

我正在使用此代码在键盘中设置[5,5] 2D数组的特定部分中的值,例如第2列第3行中的“x”,它几乎已经完成,但我一直在一个错误。我们从代码的一部分开始,我遇到了问题:

int[,] data = new int[5, 5]; 

public void cargar()
{
   string[] input = Console.ReadLine().Split('=');
   string[] coordinates = input[0].Split(',');
   int[] intCoordinates = coordinates.Select(s => int.Parse(s)).ToArray();
   data[intCoordinates[0]][intCoordinates[1]] = int.Parse(input[1]);  
}

消息引用第10行,它是关于“数据”(它是数组的名称):

  

“[] .2中的索引编号不正确”。

它是从西班牙语翻译的,所以我认为这就是说法。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:4)

你正在使用一个多维数组([,]),但后来试图像它的一个数组([] [])一样访问它 - 也称为锯齿状数组。

您需要像data[intCoordinates[0],intCoordinates[1]]那样访问它。

错误消息告诉您,当您期望其中两个时,您只使用一个索引器。

请参阅this MSDN article on multidimensional arraysthis one on jagged arrays和此StackOverflow question/answer