如何将数值从一维的第一个数组传递到多维的第二个数组,以便数字的顺序与第二个数组中的一样?一维数组到多维数组
double[] first = {1, 2, 3, 4, 5, 6, 7, 8, 9}
double[,] second =
{
{1, 2, 3, 4, 5},
{2, 3, 4, 5, 6},
{3, 4, 5, 6, 7},
{4, 5, 6, 7, 8},
{5, 6, 7, 8, 9}
}
如何将数值从一维的第一个数组传递到多维的第二个数组,以便数字的顺序与第二个数组中的一样?一维数组到多维数组
double[] first = {1, 2, 3, 4, 5, 6, 7, 8, 9}
double[,] second =
{
{1, 2, 3, 4, 5},
{2, 3, 4, 5, 6},
{3, 4, 5, 6, 7},
{4, 5, 6, 7, 8},
{5, 6, 7, 8, 9}
}
这例如这
int indexModifier = 0;
for (int i = 0; i < Math.sqrt(second.Length); ++i)
{
for (int j = 0; j < Math.sqrt(second.Length); ++j)
{
second[j + indexModifier, j] = first[i + indexModifier);
}
++indexModifier;
}
思考,第二[0,0] =第一[0],...等等。必须有更好的解决方案。 – Emcho
@Emcho直到你确定模式为止 – clcto
作为一个起点,让for循环计数到'first.length - 5'(5是每个多视图行的长度),然后'TakeRange'从'i'到' i + 4'并将其添加到多维数组中定义为double [5,first.Length - 5]' – Sayse