我确实有一个 3 维矩阵
private int[][][] Matrix
但我不知道如何填写。第一个维度是我的图片切片,第二个维度是我的一个切片的 x 值,第三个切片是我的 y 值。
所以有人知道如何用一些数据填充这个数组以进行测试吗?
谢谢
我确实有一个 3 维矩阵
private int[][][] Matrix
但我不知道如何填写。第一个维度是我的图片切片,第二个维度是我的一个切片的 x 值,第三个切片是我的 y 值。
所以有人知道如何用一些数据填充这个数组以进行测试吗?
谢谢
你可以这样做:
Matrix = new int[5][][]; // 5 slices
Matrix[0] = new int[3][]; // 3 x values for the first slice
Matrix[0][0] = new int[2]; // 2 y values for the first x value in the first slice
但我不认为你应该使用这样的东西。它很容易出错。
我建议这样的事情:
class Slice
{
public IList<XValue> XValues {get; set; }
}
class XValue
{
public IList<YValue> YValues {get; set; }
}
class YValue
{
// ...
}
var slices = new List<Slice>();
您可以使用数组文字来创建数组数组的数组:
private int[][][] Matrix = {
{
{1,2,3},
{4,5}
},
{
{1,2},
{3},
{4,5,6,7,8},
{9,10}
},
{
{1,2,3}
}
};
请注意,这是一个锯齿状数组,因此不同的子数组可以有不同数量的项目。如果您想要一个三维矩阵,您可能需要三维数组int[,,]
而不是嵌套的一维数组。