我有一个数组填充了双精度数据(DataType),这是使用SQL数据进行计算的结果。数组有我需要的数字,据我所知正确填充。问题是我的sum变量没有进行添加。
double[] _array1 = new double[]
{
Foo = SQLdata1 - SQLdata2 - SQLdata3 };
foreach (var j in array1)
{
Response.Write(j.ToString("c"));
sum =+ j;
} <td>@sum.ToString("C")</td>
我已经尝试了很多方法。这是最近的一次。这只显示数组的最后一个数字。我没有使用列表或LINQ,因为数据不在数据库中。显示的信息在运行时完成。我的问题是,我可能无法正确迭代吗?我迷失在究竟发生了什么,为什么总和不起作用。 response.write方法正确显示数组的内容。
答案 0 :(得分:2)
这只显示数组的最后一个数字。
您的代码有
行sum =+ j;
与
相同sum = +j;
将sum
设置为j
。
该行应改为
sum += j;
此外 - 在您的代码中,就像目前一样,数组中只有一个值,Foo
:
double[] _array1 = new double[]
{
Foo = SQLdata1 - SQLdata2 - SQLdata3
};
该数组只有一个项目。琐碎的是,一个项目的总和就是那个项目。
答案 1 :(得分:0)
我已经找到了答案。我只是从上面代码的一部分中删除了sum = 0。我也使用for(int j = _array1.GetLowerBound(0); j <= _array1.GetUpperBound(0); j++)
而不是.length