Errore del compilatore:identificatore di rango non valido:previsto',' o ']' sull'inizializzazione dell'array bidimensionale

Errore del compilatore:identificatore di rango non valido:previsto',' o ']' sull'inizializzazione dell'array bidimensionale

Il compilatore C# pensa che tu stia tentando di dichiarare una matrice frastagliata e lo fa in modo errato. Un array frastagliato è un array di array , dove ogni array contenuto all'interno dell'array principale può avere un numero diverso di elementi. Un array frastagliato viene dichiarato come segue:

int[][] jaggedArray = new int[numElements][];

Il che creerebbe un array che potrebbe contenere "numElements " array di numeri interi al suo interno.

Vuoi dichiarare un array multidimensionale, ad esempio:

int[,] grid = new int[g.cols, g.rows];

public int[][] getConvergenceCounts(MandelbrotGrid g){
    int[][] grid=new int[g.cols][];

    for(int x=0;x<g.cols;x++){
     int[x] = new int[g.rows]
     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;
}