我有一个大小为b的数组(100行,1143600列)。首先,我从这个数组中读取一列(例如第1234行)并对其进行一些计算并将结果保存在另一个数组中。 现在,我想替换这个数组(新数组,它的大小是(100行,1列(即:一列))与原始数组(数组b中的第1234列)。
float[][] b = Enumerable.Range(0, 1143600).Select(j => new float[100]).ToArray(); // Array b
float [] item_factor= b[zz]; //its new column after ding some calculation
如何将item_factor []替换为数组b中的目标列?
答案 0 :(得分:0)
只需使用for循环:
for (int i = 0; i < 1143600; i++)
b[1234][i] = new_column[i];
或者,如果我误解了,你试图走另一条道路:
for (int i = 0; i < 1143600; i++)
new_column[i] = b[1234][i];
注意,如果交换了问题中的常量,则1143600只会变为100(显然尝试访问第1234行将无效,因此您必须选择较低的索引)。
两者几乎完全相同。我声明了一个迭代变量“i”,并指示程序在(隐含)括号内为0到1143600的每个“i”值执行语句,每次递增1。通过为目标行分配源行列的值(使用i索引),我有效地“复制”了列。
以下是for循环的MSDN参考:MSDN
如果我能进一步澄清,请告诉我。