我目前正在尝试使用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}
};
答案 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
来填充随机数据。