Aggregate functions help you quickly get useful information from a list of numbers or items, like counting how many there are, adding them up, or finding the average.
Aggregate functions (Count, Sum, Average) in C Sharp (C#)
Start learning this pattern below
Jump into concepts and practice - no test required
var count = collection.Count(); var sum = collection.Sum(x => x.Property); var average = collection.Average(x => x.Property);
These functions are part of LINQ and work on collections like arrays or lists.
You can use a lambda expression to specify which property to use for Sum and Average.
int[] numbers = {1, 2, 3, 4, 5}; int count = numbers.Count(); int sum = numbers.Sum(); double average = numbers.Average();
var students = new List<Student> { new Student { Name = "Anna", Score = 80 }, new Student { Name = "Ben", Score = 90 }, new Student { Name = "Cara", Score = 70 } }; int count = students.Count(); int totalScore = students.Sum(s => s.Score); double avgScore = students.Average(s => s.Score);
This program creates a list of students with scores, then uses Count, Sum, and Average to find how many students there are, the total of their scores, and the average score. It prints these results.
using System; using System.Collections.Generic; using System.Linq; class Student { public string Name { get; set; } public int Score { get; set; } } class Program { static void Main() { var students = new List<Student> { new Student { Name = "Anna", Score = 80 }, new Student { Name = "Ben", Score = 90 }, new Student { Name = "Cara", Score = 70 } }; int count = students.Count(); int totalScore = students.Sum(s => s.Score); double averageScore = students.Average(s => s.Score); Console.WriteLine($"Number of students: {count}"); Console.WriteLine($"Total score: {totalScore}"); Console.WriteLine($"Average score: {averageScore:F2}"); } }
Count() returns the number of items in the collection.
Sum() adds up all values you specify.
Average() calculates the mean value and returns a double.
Use Count to find how many items are in a list.
Use Sum to add up values from a list.
Use Average to find the mean value from a list.
Practice
Which aggregate function in C# is used to find how many items are in a list?
Solution
Step 1: Understand the purpose of Count
The Count function returns the number of elements in a collection.Step 2: Compare with other aggregate functions
Sum adds values, Average calculates mean, Max finds the largest value, so they do not count items.Final Answer:
Count -> Option AQuick Check:
Count = number of items [OK]
- Confusing Sum with Count
- Using Average to count items
- Thinking Max counts items
Which of the following is the correct syntax to calculate the sum of integers in a list named numbers?
var total = ???;
Solution
Step 1: Identify the method to sum list elements
The Sum() method is called on the list to add all elements.Step 2: Check syntax correctness
numbers.Sum() is the correct syntax; Count() counts items, Average() finds mean, Sum(numbers) is invalid.Final Answer:
numbers.Sum() -> Option AQuick Check:
Sum() adds list values [OK]
- Using Count() instead of Sum()
- Calling Sum as a standalone function
- Using Average() to sum values
What is the output of this C# code?
var numbers = new List<int> { 2, 4, 6, 8 };
var result = numbers.Average();
Console.WriteLine(result);Solution
Step 1: Calculate the sum of the list elements
Sum = 2 + 4 + 6 + 8 = 20Step 2: Calculate the average
Average = Sum / Count = 20 / 4 = 5.0Step 3: Check the output type
Average returns a double, so output is 5 (printed as 5)Final Answer:
5 -> Option DQuick Check:
Average = 20 / 4 = 5 [OK]
- Adding values but not dividing by count
- Confusing sum with average
- Miscounting number of elements
Identify the error in this code snippet and choose the correct fix:
var numbers = new int[] { 1, 2, 3 };
var total = numbers.Count + 5;
Console.WriteLine(total);Solution
Step 1: Identify the error in Count usage
Count is a method, so it requires parentheses: Count()Step 2: Fix the syntax
Change numbers.Count to numbers.Count() to get the number of elements.Final Answer:
Replace Count with Count() -> Option CQuick Check:
Count() is a method, not a property [OK]
- Using Count without parentheses
- Replacing Count with Sum or Average incorrectly
- Assuming Count is a property
You have a list of exam scores: var scores = new List<int> { 70, 85, 90, 100, 65 };. You want to find the average score but only for scores above 80. Which code snippet correctly calculates this?
Solution
Step 1: Filter scores greater than 80
Use Where(s => s > 80) to select only scores above 80.Step 2: Calculate average of filtered scores
Call Average() on the filtered list to get the mean of those scores.Final Answer:
var avg = scores.Where(s => s > 80).Average(); -> Option BQuick Check:
Filter then average = correct approach [OK]
- Passing condition directly to Average()
- Dividing sum by total count instead of filtered count
- Using Count divided by Sum incorrectly
