Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C中的另一个数组替换数组的一列#_C# - Fatal编程技术网

C# 用C中的另一个数组替换数组的一列#

C# 用C中的另一个数组替换数组的一列#,c#,C#,我有大小为(100行,1143600列)的数组b。首先,我从这个数组中读取一列(例如1234列),并对其进行一些计算,然后将结果保存到另一个数组中。 现在,我想用原始数组(数组b中的1234列)替换这个数组(新数组,它的大小是(100行,1列(即:1列)) 如何用数组b中的目标列替换项_factor[]?只需使用for循环: for (int i = 0; i < 1143600; i++) b[1234][i] = new_column[i]; for(int i=0;i

我有大小为(100行,1143600列)的数组b。首先,我从这个数组中读取一列(例如1234列),并对其进行一些计算,然后将结果保存到另一个数组中。 现在,我想用原始数组(数组b中的1234列)替换这个数组(新数组,它的大小是(100行,1列(即:1列))

如何用数组b中的目标列替换项_factor[]?

只需使用for循环:

for (int i = 0; i < 1143600; i++)
   b[1234][i] = new_column[i];
for(int i=0;i<1143600;i++)
b[1234][i]=新的_列[i];
或者如果我误解了,而你正试图走另一条路:

for (int i = 0; i < 1143600; i++)
   new_column[i] = b[1234][i];
for(int i=0;i<1143600;i++)
新的_列[i]=b[1234][i];
注意,如果您的问题中的常量被交换,1143600将变为100(显然,尝试访问第1234行是行不通的,因此您必须选择一个较低的索引)

两者几乎完全相同。我声明了一个迭代变量“I”,并指示程序在括号内执行语句,将“I”的每个值从0增加到1143600,每次增加一个。通过为目标行分配源行列的值(使用I索引),我有效地“复制”专栏结束了

以下是for循环的MSDN参考:


让我知道我是否可以进一步澄清!

这听起来像是涉及数组大小调整,这几乎从来都不是一个好主意。我理解的问题是错误的吗?不。我不想调整数组b的大小。我只想用另一列替换一列(从该列中删除以前的值,并编写新的值)@LordTakkeraI在这里很困惑。看起来数组
b
是一个锯齿状数组,有1143600行和100列。你是对的@lc。这是输入错误。你知道吗?在你的情况下,你不能设置
float[]item_factor=b[1234]
,因为它是一个锯齿状数组(数组数组的数组)?感谢@LordTakkera的回复。请您解释一下。我不清楚您做了什么?在第b[1234][I]=行[I];我显示了该列?如果它显示了该列,什么是[1234]?。提前感谢我是在该行复制的当前索引。[1234]是多维数组的源/目标行。@user3371238这两个函数都在执行请求的复制,所以我不确定“显示列”、“I”和“1234”是什么意思只是索引。1234是要复制到或从中复制的行,i是迭代变量,因此它是循环退出时从0到1143600的每个值。请让我知道是否可以进一步澄清这一点。
for (int i = 0; i < 1143600; i++)
   new_column[i] = b[1234][i];