过去一段时间必须回答这个问题,但我无法以某种方式找到我想要的方式。 我想制作一个7 x 2的数组维度;
离)
{0,0} {0,0}
{0,0}
...
...
..
.
int [,] myArray = new int[7,2];
然后我尝试将数组的每个维度视为一维数组。 所以我试着以这种方式为数组赋值......
int[0] = new int{ 1, 2};
我认为应该看起来像......
{1 , 2}
{0 , 0}
...
..
.
但是我得到了一个错误。
我认为这是由于我对数组类的理解不完全。
答案 0 :(得分:5)
你想要的是锯齿状数组,而不是多维数组。基本上,是一个数组数组:
int[][] myArray = new int[7][];
int[0] = new int {1, 2};
第二个“维度”数组的长度不限于2,但您需要手动强制执行。这就是为什么它们在视觉上称为锯齿状,它们可以有不同的长度:
{
{ 3, 2 },
{ 1, 8, 3 },
{ 9, 6, 3, 4 },
{ 4, 2, 8 },
{ 4, 9, 3, 4, 5 },
{ 2, 2 }
}
所有关于C#中的数组都在这里:http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx
答案 1 :(得分:2)
以下是您如何为您的案例做到这一点:
int [,] arr = new [,]
{
{0,1},
{1,2}
};
答案 2 :(得分:1)
你可以使用Chris Shain的命题,或者继续使用多维数组的方法。
初始化此类数组
int [,] myArray = new int[3,2] {{1,2},{3,4},{5,6}};
或省略尺寸参数
int [,] myArray = new int[,] {{1,2},{3,4},{5,6}};
您遇到的问题是访问数组元素,在多维数组中,您可以直接访问该元素,例如
myArray[1,1] = 7;
会将1改为7;
所有这一切以及更多内容都可以在Arrays的文档中找到。