获取从一个Array到另一个Array的平均值

时间:2013-08-16 01:17:08

标签: c#

我不是程序员,但我正在学习C#来建立一个外汇交易系统,阵列正在努力......

我遇到的问题如下......

我有一个一维数组,其中包含100个元素。

现在我需要构建另一个一维数组,其中包含基于第一个数组的10个元素滚动平均值。

以另一种方式说,我需要从第一个数组中取出元素,从i = 0开始直到i = 9并对它们求平均值并将平均值保存在一个新数组中。然后向前移动一步,从原始阵列中取i = 1到i = 10并平均它们并将结果保存在新阵列......等等......在Excel中,这将非常容易......

我需要在数组中获取数据是因为稍后我需要将滚动平均值的最后10个元素与历史数据进行比较......

请问,有人可以构建一个我可以使用的示例代码吗?

非常感谢 圣保罗

1 个答案:

答案 0 :(得分:0)

也许这样的事情可以发挥作用......在我的Mac上用崇高的文字做到这一点,所以你仍然需要使用。应该明白这一点。

 public class Foo 
 {
    List<int> main = new List<int>(100);
    List<int> rollingAverages = new List<int>(100);

    public void Add(int score)
    {
        main.Add(score);
        if(main.Count > 10)
        {
            int rollingAverage = AverageLast10();
            rollingAverages.Add(rollingAverage);
        }
    }

    public int AverageLast10()
    {
        int sum = 0;
        for(int i = main.Count - 10; i < 10; i++)
        {
            sum += main[i];
        }
        return sum / 10;
    }
 }   


Somewhere else in the code

Foo foo = new Foo();
foo.Add(94);
foo.Add(94);
...
 yadda yadda yadda