c# - 编译器错误 : Invalid rank specifier: expected' ,' or ' ]' on Two Dimensional Array Initialization

标签 c# multidimensional-array

我有一个要用 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/

相关文章:

c# - 在设计器模式下,来自 Nuget 的隐形 Windows 8.1 自定义控件

c# - 使用 C# 和 OpenXML 设置缩放属性以适应 Excel

python - 替换 numpy ndarray 中的字符(Python)

c - 我需要一个将二维数组传递给 C 函数的简单示例

java - 使用 for 循环用两个一维数组填充二维数组

javascript - JavaScript中根据多值特征重新组织多维数组?

c# - 为什么未收集未引用的对象?

c# - C#XNA多线程SpriteBatch.End() “Object reference not set to an instance of an object”

c# - 连接到 WCF RESTful 服务时创建 Ssl 服务器凭据时发生 fatal error

javascript - 如何从 Javascript 准备/构建多维数组以发送到 PHP