如何填充海量2D阵列

时间:2019-01-25 05:33:38

标签: c# arrays multidimensional-array perlin-noise

我目前正在尝试使用C#制作Perlin噪声发生器,并且需要使用大型2D阵列。

这是我当前的解决方案,但是对于更大的阵列,我无法做到这一点。

int[,] noise = new int[8, 8]{
  {0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0}
};

1 个答案:

答案 0 :(得分:1)

您可以编写一个函数来填充数组。 array.GetLength(dimesion number)返回C#中多维数组的该维的大小。对于2D,行的维数为0,行的维数为1。因此,编写这样的函数:

  public static void fill2DArray(int[,] arr){
    int numRows = arr.GetLength(0);
    int numCols = arr.GetLength(1);

    for(int i = 0; i < numRows; ++i){
        for(int j = 0; j < numCols; ++j){
            arr[i,j] = 0;
        }
    }
}

尝试调用fill2DArray(myArray);之类的函数。您还可以在其中使用Random来填充随机数据。