Code Demo · C# · LINQ Summary

csharp
using System;
using System.Linq;

public class Metric
{
    public string Name { get; set; }
    public double Value { get; set; }
    public Metric(string name, double value) { Name = name; Value = value; }
}

public class Program
{
    public static void Main()
    {
        var metrics = new[] {
            new Metric("latency", 120), new Metric("latency", 80), new Metric("errors", 3),
        };
        var summary = metrics.GroupBy(metric => metric.Name)
            .Select(group => new { Name = group.Key, Total = group.Sum(item => item.Value) });
        foreach (var item in summary) Console.WriteLine("{0}: {1}", item.Name, item.Total);
    }
}
658 characters22 lines< 1.9 KB