创建一个大数组C#

时间:2013-05-06 21:38:55

标签: c# arrays

我对C#非常非常新,并想问一个可能非常愚蠢的问题,我学到的第一种语言是Java,我可以这样做:

int[][] array = new int[1600][900];
array[600][400] = 10;

for(int x = 0; x < 1600; x++)
{
    for(int y = 0; y < 900; y++)
    {
        int something = colour[x][y];
    }
}

现在我已经在网上搜索了很长一段时间,但我不知道如何在C#中做到这一点

编辑:

感谢大家的帮助,它非常有用:)

4 个答案:

答案 0 :(得分:4)

只需使用逗号:

int[,] array = new int[1600,900];
array[600,400] = 10;
//...

答案 1 :(得分:2)

您可以在C#中以非常类似的方式执行此操作:

int[,] array = new int[1600,900];
array[600,400] = 10;

for(int x = 0; x < 1600; x++)
{
    for(int y = 0; y < 900; y++)
    {
        int something = colour[x,y];
    }
}

我不确定我是否理解双循环中代码的目的是什么。我想这三段代码没有任何共同之处。

答案 2 :(得分:0)

int [,] array = new int[1600,900];

答案 3 :(得分:0)

为答案添加一些颜色:   在.NET中,int[][]锯齿状数组,或数组数组。虽然这可能是一个非常好的结构供您使用,但它具有增加的开销,每个数组必须单独初始化。所以你的初始化将是:

int[][] array = new int[1600][];
for(int i=0;i<array.Length;i++)
    array[i] = new int[900];

现在您可以使用

访问单个值
array[600][400] = 10;

使用锯齿状阵列的一个好处是“内部”阵列可以是不同的大小。如果你不需要这种灵活性而不是使用矩形([,])数组可能是一个更好的选择。