我有一个要用 C# 完成的类(class)作业。作为一个完整的 C# 新手,我首先用 Java 完成了这个项目,现在我正在尝试将它转换为 C#。我有以下函数导致以下编译器错误。
错误:无效的排名说明符:预期的','或']'在以下行:
int[][] grid=new int[g.cols][g.rows];
Visual Studio 在 g.rows 的 g 下划线
public int[][] getConvergenceCounts(MandelbrotGrid g){
int[][] grid=new int[g.cols][g.rows];
for(int x=0;x<g.cols;x++){
for(int y=0;y<g.rows;y++){
double tx=x*(double)3/400-1.5;
double ty=y*(double)3/400-1.5;
grid[x][y]=getConvergenceCount(new Complex(ty,tx));
}
}
return grid;
}
我不知道我在这里做错了什么,阅读 C# 中的多维数组似乎没有帮助。
最佳答案
C# 编译器认为您正在尝试声明一个 jagged array ,并且这样做不正确。交错数组是一个数组的数组,其中包含在主数组中的每个数组可以具有不同数量的元素。交错数组声明如下:
int[][] jaggedArray = new int[numElements][];
这将创建一个数组,其中可以包含“numElements
”个整数数组。
您想声明一个 multidimensional array ,例如:
int[,] grid = new int[g.cols, g.rows];
关于c# - 编译器错误 : Invalid rank specifier: expected' ,' or ' ]' on Two Dimensional Array Initialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4384202/