锯齿形阵列,带有两个2d阵列
本文关键字:阵列 2d 两个 锯齿形 | 更新日期: 2023-09-27 18:28:38
如何创建一个由两个2d数组组成的锯齿状数组?请帮忙。非常感谢。
int[][] jaggedArray = new int[3][];
上面的代码创建了一个包含三个元素的一维数组,每个元素都是一个一维整数数组。有人能帮我创建一个二维数组吗。
我想你想要这样的东西,
var jaggedArray = new[]
{
new[] { 1 },
new[] { 1, 2 ,3 },
new[] { 1, 2 }
};
这将创建一个"锯齿状"数组,其中每个"行"都有不同的长度。
以下所有断言都将是True
。
jaggedArray.Length == 3
jaggedArray[0].Length == 1
jaggedArray[1].Length == 3
jaggedArray[2].Length == 2
如果你知道长度是固定的,但不知道数据,你可以这样做,
var jaggedArray = new[] { new int[1], new int[3], new int[2] };
根据你的评论,也许你想要这样的东西,
var jaggedArray1 = new[]
{
new[] { 1, 2, 3, 4 },
new[] { 1, 2, 3 },
new[] { 1, 2 }
};
var jaggedArray2 = new[]
{
new[] { 1, 2, 3 },
new[] { 1, 2, 3, 4 }
};
int[][][] jaggedArray = new[]
{
jaggedArray1,
jaggedArray2
};
你可以这么做,
var jaggedArray = new[]
{
new[]
{
new[] { 1, 2, 3, 4 },
new[] { 1, 2, 3 },
new[] { 1, 2 }
},
new[]
{
new[] { 1, 2, 3 },
new[] { 1, 2, 3, 4 }
}
};
这个怎么样:
int[][,] jaggedArray = new int[3][,];
,
在锯齿状阵列中创建2D阵列。在MSDN上阅读更多关于多维阵列的信息。
接下来,您必须初始化该阵列中的每个2D阵列:
int[,] 2dArray1 = new int[2,3];
jaggedArray[0] = 2dArray1;
int[,] 2dArray2 = new int[4,5];
jaggedArray[1] = 2dArray2;
等等。
第二对括号表示尺寸。因此,这就像是在声明一个多维数组,只是不需要在定义中指定维度。可以使用不同的维度初始化每个数组。
int[][,] jaggedArray = new int[3][,];