我不是程序员,但我正在学习C#来建立一个外汇交易系统,阵列正在努力......
我遇到的问题如下......
我有一个一维数组,其中包含100个元素。
现在我需要构建另一个一维数组,其中包含基于第一个数组的10个元素滚动平均值。
以另一种方式说,我需要从第一个数组中取出元素,从i = 0开始直到i = 9并对它们求平均值并将平均值保存在一个新数组中。然后向前移动一步,从原始阵列中取i = 1到i = 10并平均它们并将结果保存在新阵列......等等......在Excel中,这将非常容易......
我需要在数组中获取数据是因为稍后我需要将滚动平均值的最后10个元素与历史数据进行比较......
请问,有人可以构建一个我可以使用的示例代码吗?
非常感谢 圣保罗
答案 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