如何在数组中添加前n个数字c#

时间:2014-06-02 08:19:05

标签: c# arrays

我有一个速度数组,我想获得一个位移数组。 要获得每个n的位移,我需要从0到n添加速度[], 所以我试图在数组速度[]中为每个n添加前n个数字,n是从0开始的数组索引。

for (i = 0; i < totalnumber; i++)
{
    for (int k = 0; k < i; k++)
    {
        Xdis[i] += Xvelo[k];
        Ydis[i] += Yvelo[k];
        Zdis[i] += Zvelo[k];
    }
 }

上面的循环有效,但问题是它需要太长时间(循环中循环) 我的问题是,C#中是否有任何sum函数可以处理这个而不用于循环? 比如Xdis [i] = Xvelo.sum(i)或者sth?

1 个答案:

答案 0 :(得分:4)

为什么不使用已经计算过的结果?不要一直重新求和,只需使用前面的结果:

for (i = 1; i < totalnumber; i++)
{
    Xdis[i] = XDis[i-1] + Xvelo[i-1];
    Ydis[i] = YDis[i-1] + Yvelo[i-1];
    Zdis[i] = ZDis[i-1] + Zvelo[i-1]; 
}