The Aggregate
operator is a LINQ query operator that applies a function to each element of a sequence and accumulates the result. The function takes two arguments: the accumulator and the current element of the sequence.
Here are some examples of how you might use the Aggregate
operator in C#:
Example 1: Summing a list of integers:
1 2 3 4 |
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; int sum = numbers.Aggregate((total, n) => total + n); |
Example 2: Multiplying a list of integers:
1 2 3 4 |
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; int product = numbers.Aggregate((total, n) => total * n); |
Example 3: Concatenating a list of strings:
1 2 3 4 |
List<string> words = new List<string> { "Hello", " ", "World" }; string sentence = words.Aggregate((total, w) => total + w); |
Example 4: Finding the maximum value in a list of integers:
1 2 3 4 |
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; int max = numbers.Aggregate((max, next) => max > next ? max : next); |
Example 5: Finding the minimum value in a list of integers:
1 2 3 4 |
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; int min = numbers.Aggregate((min, next) => min < next ? min : next); |
In these examples, the Aggregate
operator is used to apply a function to each element of a sequence and accumulate the result. The function takes two arguments: the accumulator and the current element of the sequence. In the first example, the Aggregate
operator is used to sum a list of integers. In the second example, the Aggregate
operator is used to multiply a list of integers. In the third example, the Aggregate
operator is used to concatenate a list of strings. In the fourth and fifth examples, the Aggregate
operator is used to find the maximum and minimum value in a list of integers respectively.
It’s worth noting that the Aggregate
operator returns a single value, and it can take an initial seed value as an optional parameter which is used as the initial accumulator value. This can be useful for more complex aggregation scenarios.
[…] Aggregate: Applies an accumulator function over a sequence […]