如何将一个3D数组转换成多个2D数组

本文关键字:数组 转换 2D 3D 一个 | 更新日期: 2023-09-27 18:14:57

我有一个3-D数组中的值数组,存储为[x,y,z]。3-D数组对于前面的函数很有用,但是在当前的函数中,我想要z系列的[x,y]数组。这可能吗?我的数组是input[x,y,z],我想把它重做成二维数组。x和y是二维数组的值。

var dict = new Dictionary<int, double[,]>();
for (int files = 0; files < input.GetLength(2); files++)
{
    dict[files] = input[x,y,files]
}

如何将一个3D数组转换成多个2D数组

var dict = new Dictionary<int, double[,]>();
for (int files = 0; files < input.GetLength(2); files++)
{
    double[,] twoD = new double[input.GetLength(0), input.GetLength(1)];
    for (int x = 0; x < input.GetLength(0); x++)
        for (int y = 0; y < input.GetLength(1); y++)
            twoD[x, y] = input[x, y, files];
    dict.Add(files, twoD);
}

这个SO问题可能也有帮助。

请注意,这并不假设您的z值是唯一的。