如何创建一个由两个二维数组组成的锯齿状数组?请帮忙。谢谢。
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 }
}
};
关于c# - 带有两个二维数组的锯齿状数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26656770/