35
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
5
public class Program
6
{
7
public static void Main()
8
{
9
List<decimal> numbers = new List<decimal> { 2, 3, 5, 8, 13 };
10
int windowSize = 3;
11
12
var movingAverages = numbers
13
.Select((number, index) => new
14
{
15
Number = number,
16
Index = index
17
})
18
.Select(n => new
19
{
20
n.Number,
21
Average = numbers
22
.Skip(Math.Max(0, n.Index - windowSize + 1))
23
.Take(windowSize)
24
.Average()
25
})
26
.ToList();
27
28
foreach (var item in movingAverages)
29
{
30
Console.WriteLine($"Number: {item.Number}, Moving Average: {item.Average}");
31
}
32
33
34
}
35
}
Cached Result
1,000.05
1000.04
1000.05
85.56%
00123
789
'a','b','c','d','e'
1000.04
1000.05
85.56%
00123
789
'a','b','c','d','e'