我收到了这段代码:
double[][] ou = new double[h][w];
for(i=0;i<h;i++)
for(int j=0;j<w;j++)
ou[i][j] = sortie[z++];
return ou;
我得到了这两个错误:
Error 1: Cannot implicitly convert type 'double[][]' to 'double[]'
提到“return ou”
Error 2: Invalid rank specifier: expected ',' or ']'
提到“double [] [] ou = new double [h] [w];”
编辑: 我尝试将代码从Java转换为C#,这就是我有“double [] [] ou = new double [h] [w];”
答案 0 :(得分:0)
试试这个:
double[,] ou = new double[h,w];
for(i=0;i<h;i++)
for(int j=0;j<w;j++)
ou[i,j] = sortie[z++];
return ou;
多维数组的语法在维度之间使用逗号,而不是双括号。
答案 1 :(得分:0)
您要创建的是一个多维数组,但正在创建一个Jagged数组,它是一个Array数组。看看这个SO问题的差异。
Multidimentional Arrays and Jagged Array
所以在第一行本身你不能用new double[h][w]
创建一个不允许的数组
你需要像这样创建阵列
double[,] array = new double [h,w];
和访问这样的元素
array[i,j] = somevalue;