我对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#中做到这一点
编辑:
感谢大家的帮助,它非常有用:)
答案 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;
使用锯齿状阵列的一个好处是“内部”阵列可以是不同的大小。如果你不需要这种灵活性而不是使用矩形([,]
)数组可能是一个更好的选择。