我正在使用此代码在键盘中设置[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中的索引编号不正确”。
它是从西班牙语翻译的,所以我认为这就是说法。我怎么能解决这个问题?
答案 0 :(得分:4)
你正在使用一个多维数组([,]),但后来试图像它的一个数组([] [])一样访问它 - 也称为锯齿状数组。
您需要像data[intCoordinates[0],intCoordinates[1]]
那样访问它。
错误消息告诉您,当您期望其中两个时,您只使用一个索引器。
请参阅this MSDN article on multidimensional arrays,this one on jagged arrays和此StackOverflow question/answer。