Skip to content

Instantly share code, notes, and snippets.

@AlexArchive
Created June 20, 2014 10:49
Show Gist options
  • Save AlexArchive/f6b5adeeea795274113b to your computer and use it in GitHub Desktop.
Save AlexArchive/f6b5adeeea795274113b to your computer and use it in GitHub Desktop.
var sequence = new[] { 5, 4, 3, 2, 1 };
var varSum = sequence.Aggregate((sum, number) => sum + number);
var varCount = sequence.Aggregate(0, (count, number) => count + 1);
var varMin = sequence.Aggregate((min, number) => number < min ? number : min);
var varMax = sequence.Aggregate((max, number) => number > max ? number : max);
var varAverage = varSum / varCount;
var varAverageAlt = sequence.Aggregate(new { sum = 0, count = 0 },
(anonObj, number) => new { sum = anonObj.sum + number, count = anonObj.count + 1 },
anonObj => anonObj.sum / anonObj.count);
// use the tailored methods in production code.
//var sum = sequence.Sum();
//var count = sequence.Count();
//var min = sequence.Min();
//var max = sequence.Max();
//var average = sequence.Average();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment