1

我对 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

4 回答 4

4

只需使用逗号:

int[,] array = new int[1600,900];
array[600,400] = 10;
//...
于 2013-05-06T21:41:16.607 回答
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];
    }
}

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

于 2013-05-06T21:42:24.533 回答
0

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

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

现在您可以使用

array[600][400] = 10;

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

于 2013-05-06T21:51:22.167 回答
0
int [,] array = new int[1600,900];
于 2013-05-06T21:42:24.253 回答