我想知道如何获得二维数组的行,如
int [3,3] a = ****
我尝试了[0],但失败了。无论如何得到rwo阵列?
答案 0 :(得分:2)
二维数组不是数组数组。如果您想获得' row',那么您需要从数组中获取具有相同某个维度值的所有项目。例如。如果您从第一维获得所有值:
int[,] array = new int[4, 3] {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 },
{ 10, 11, 12 }
};
for(int i = 0; i <= array.GetUpperBound(1); i++)
Console.WriteLine(array[0,i]); // getting all items from first dimension
您可以将所有这些项目放入数组:
int rowIndex = 0;
int[] row = Enumerable.Range(0, array.GetUpperBound(1) + 1)
.Select(i => array[1, i])
.ToArray();
另一种选择是使用锯齿状数组而不是二维数组:
int[][] array = new []{
new[] { 1, 2, 3 },
new[] { 4, 5, 6 },
new[] { 7, 8, 9 },
new[] { 10, 11, 12, 13, 14, 15 }
};
它是一个数组数组。但请注意,内部数组可以有不同的大小。得到一些&#39; row&#39;看起来像
int[] row = array[0];