我在三维数组中有一个值数组,存储为[x,y,z]。三维数组对前一个函数很有用,但在当前函数中,我想要z系列的[x,y]数组。这可能吗?我拥有的数组是input[x,y,z]
,我希望它可以重做为2-D数组。 x和y是二维数组的值。
var dict = new Dictionary<int, double[,]>();
for (int files = 0; files < input.GetLength(2); files++)
{
dict[files] = input[x,y,files]
}
答案 0 :(得分:4)
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);
}
This SO question也可能会有所帮助。
请注意,这确实假设您的z
值是唯一的。