using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Running; using System; using System.Collections.Generic; using System.Linq; namespace BenchmarkExample { public class Program { static void Main(string[] args) { var summary = BenchmarkRunner.Run(); } } public class BasketItem { public decimal Price { get; set; } } public class BasketBenchmarks { private List _baskets; [GlobalSetup] public void Setup() { _baskets = new List(); for (int i = 0; i < 1000; i++) { _baskets.Add(new BasketItem { Price = i }); } } [Benchmark] public decimal ForeachSum() { decimal total = 0; foreach (var item in _baskets) { total += item.Price; } return total; } [Benchmark] public decimal LINQSum() { return _baskets.Sum(current => current.Price); } } }