Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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#_.net - Fatal编程技术网

C# 将数组值除以数组值

C# 将数组值除以数组值,c#,.net,C#,.net,所以我需要将数组值除以数组值。我用的是浮点多维数组 代码如下: myNumbers = new float[3, 4]; float[] tempNumbers; myNumbers[0, 0] = 3; myNumbers[0, 1] = -6; myNumbers[0, 2] = 3; myNumbers[0, 3] = -12; /* for (int i = 0; i < 4; i++) { myNumbers[0, i] = myNumbers[0, i] / myN

所以我需要将数组值除以数组值。我用的是浮点多维数组

代码如下:

myNumbers = new float[3, 4];
float[] tempNumbers;

myNumbers[0, 0] = 3;
myNumbers[0, 1] = -6;
myNumbers[0, 2] = 3;
myNumbers[0, 3] = -12;

/*
for (int i = 0; i < 4; i++)
{
    myNumbers[0, i] = myNumbers[0, i] / myNumbers[0, 0];
}
*/

myNumbers[0, 0] = myNumbers[0, 0] / myNumbers[0, 0]; //Works (strange)
myNumbers[0, 1] = -6 / 3; // Works like this
myNumbers[0, 2] = myNumbers[0, 2] / myNumbers[0, 0]; //Does not
myNumbers[0, 3] = myNumbers[0, 3] / myNumbers[0, 0]; //Does not
我感到奇怪的是,第一个值总是经过计算的。如果我尝试分割静态数字并将它们放入我的数组中,它也会起作用。请帮我拿这个。我第一次在这里发帖,希望你能在这里提问和帮助…:)


非常感谢,愚蠢的我。:)

因为您已经更新了第一个数组值,所以它始终是1,因此使用它进行进一步的除法将不会更改数字myNumbers[0,2],myNumbers[0,3]的值。

因为您已经更新了第一个数组值,所以它始终是1,因此使用它进行进一步的除法将不会更改数字myNumbers[0,2]的值,myNumbers[0,3]

不,这非常有意义-当您在第三行和第四行中使用myNumbers[0,0]时,该值为1(由于第一次计算)

把数组从图片中去掉可能会有帮助,因为它们在这里是不相关的。您的代码有效地:

float a = 3;
float b = -6;
float c = 3;
float d = -12;

a = a / a;
b = -6 / 3;
c = c / a;
d = d / a;
在第一行之后,
a
显然是1。如果不希望早期计算影响后期计算,请使用单独的变量:

float a2 = a / a;
float b2 = -6 / 3;
float c2 = c / a;
float d2 = d / a;

此时,
c2
将为1,
d2
将为-4,这大概是您所期望的。

不,这很有道理-当您在第三行和第四行中使用
myNumbers[0,0]
时,该值为1(由于第一次计算)

把数组从图片中去掉可能会有帮助,因为它们在这里是不相关的。您的代码有效地:

float a = 3;
float b = -6;
float c = 3;
float d = -12;

a = a / a;
b = -6 / 3;
c = c / a;
d = d / a;
在第一行之后,
a
显然是1。如果不希望早期计算影响后期计算,请使用单独的变量:

float a2 = a / a;
float b2 = -6 / 3;
float c2 = c / a;
float d2 = d / a;

此时,
c2
将为1,
d2
将为-4,这大概是您所期望的。

执行此行时:

myNumbers[0, 0] = myNumbers[0, 0] / myNumbers[0, 0]; //Works (strange)
结果存储在
myNumbers[0,0]
中。因此,当程序执行第三行时:

myNumbers[0,2]=myNumbers[0,2]/myNumbers[0,0]//不


myNumbers[0,0]
的值为
1
,并生成正确的结果
3

执行此行时:

myNumbers[0, 0] = myNumbers[0, 0] / myNumbers[0, 0]; //Works (strange)
结果存储在
myNumbers[0,0]
中。因此,当程序执行第三行时:

myNumbers[0,2]=myNumbers[0,2]/myNumbers[0,0]//不

myNumbers[0,0]
的值为
1
,并生成正确的结果
3