错误原因:
1.以C语言为基础进一步学习C#语言,对数组的定义产生的分歧。
2.C#中数组定义模糊,混淆。
基础概念:
C#中有两种数组类型:1.矩形数组;2.交错数组
矩形数组:可构造如C语言的多维数组arr[][]..,
特性:1.某个维度的所有子数组都具有相同长度的多维数组;
2.不管多少维度,总是使用一组方括号。
交错数组:C#的arr[][]...
特性:1.每一个子数组都是独立数组的多维数组
2.可以有不同长度的子数组
//接口的实现
public double Second_Order(double x)
{
int[,] intArr =new int[2,2];
//笔者声明了一个二维数组,属于矩形数组
for (int i = 0; i < 2; i++)
{
for (int j =0; j < 2; j++)
{
x= Console.Read();
intArr[i][j] = (int)x;
//却在此处调用数组时写成了交错数组
//应写为intArr[i,j] = (int)x;
}
}
//这里也是正确的矩形数组调用
int result = (intArr[1,1] * intArr[2, 2]) - (intArr[1, 2] * intArr[2,1]);
return result;
}
解决方法:
明确自己的数组类型,正确使用。