Bird
Raised Fist0
C Sharp (C#)programming~5 mins

Aggregate functions (Count, Sum, Average) in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the Count aggregate function do in C#?
Count returns the total number of elements in a collection or sequence.
Click to reveal answer
beginner
How does the Sum function work in C#?
Sum adds up all the numeric values in a collection and returns the total.
Click to reveal answer
beginner
What is the purpose of the Average function in C#?
Average calculates the mean value by dividing the sum of all elements by the number of elements.
Click to reveal answer
beginner
Can Count be used on an empty collection? What is the result?
Yes, Count can be used on an empty collection and it returns 0.
Click to reveal answer
intermediate
What happens if you use Sum or Average on an empty collection in C#?
Sum returns 0 for an empty collection. Average throws an InvalidOperationException because it cannot divide by zero.
Click to reveal answer
What does the Count() method return when called on a list of 5 elements?
A0
BAverage of elements
CSum of elements
D5
Which aggregate function would you use to find the total price of items in a shopping cart?
AAverage
BCount
CSum
DMin
What will Average() return when called on a collection with values {2, 4, 6}?
A4
B3
C12
D6
What happens if you call Average() on an empty list in C#?
AReturns 0
BThrows an exception
CReturns null
DReturns -1
Which aggregate function can be safely called on an empty collection without throwing an error?
ABoth A and C
BAverage
CSum
DCount
Explain how Count, Sum, and Average aggregate functions work in C# with simple examples.
Think about counting items, adding prices, and finding average scores.
You got /4 concepts.
    What should you be careful about when using Average on collections in C#?
    Consider what happens if there is nothing to average.
    You got /3 concepts.

      Practice

      (1/5)
      1.

      Which aggregate function in C# is used to find how many items are in a list?

      easy
      A. Count
      B. Sum
      C. Average
      D. Max

      Solution

      1. Step 1: Understand the purpose of Count

        The Count function returns the number of elements in a collection.
      2. Step 2: Compare with other aggregate functions

        Sum adds values, Average calculates mean, Max finds the largest value, so they do not count items.
      3. Final Answer:

        Count -> Option A
      4. Quick Check:

        Count = number of items [OK]
      Hint: Count counts items, Sum adds, Average finds mean [OK]
      Common Mistakes:
      • Confusing Sum with Count
      • Using Average to count items
      • Thinking Max counts items
      2.

      Which of the following is the correct syntax to calculate the sum of integers in a list named numbers?

      var total = ???;
      easy
      A. numbers.Sum()
      B. numbers.Count()
      C. Sum(numbers)
      D. numbers.Average()

      Solution

      1. Step 1: Identify the method to sum list elements

        The Sum() method is called on the list to add all elements.
      2. Step 2: Check syntax correctness

        numbers.Sum() is the correct syntax; Count() counts items, Average() finds mean, Sum(numbers) is invalid.
      3. Final Answer:

        numbers.Sum() -> Option A
      4. Quick Check:

        Sum() adds list values [OK]
      Hint: Use list.Sum() to add all numbers [OK]
      Common Mistakes:
      • Using Count() instead of Sum()
      • Calling Sum as a standalone function
      • Using Average() to sum values
      3.

      What is the output of this C# code?

      var numbers = new List<int> { 2, 4, 6, 8 };
      var result = numbers.Average();
      Console.WriteLine(result);
      medium
      A. 20
      B. 6
      C. 4
      D. 5

      Solution

      1. Step 1: Calculate the sum of the list elements

        Sum = 2 + 4 + 6 + 8 = 20
      2. Step 2: Calculate the average

        Average = Sum / Count = 20 / 4 = 5.0
      3. Step 3: Check the output type

        Average returns a double, so output is 5 (printed as 5)
      4. Final Answer:

        5 -> Option D
      5. Quick Check:

        Average = 20 / 4 = 5 [OK]
      Hint: Average = sum of values divided by count [OK]
      Common Mistakes:
      • Adding values but not dividing by count
      • Confusing sum with average
      • Miscounting number of elements
      4.

      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);
      medium
      A. No error, code is correct
      B. Replace Count with Sum()
      C. Replace Count with Count()
      D. Replace Count with Average()

      Solution

      1. Step 1: Identify the error in Count usage

        Count is a method, so it requires parentheses: Count()
      2. Step 2: Fix the syntax

        Change numbers.Count to numbers.Count() to get the number of elements.
      3. Final Answer:

        Replace Count with Count() -> Option C
      4. Quick Check:

        Count() is a method, not a property [OK]
      Hint: Count is a method, always use parentheses [OK]
      Common Mistakes:
      • Using Count without parentheses
      • Replacing Count with Sum or Average incorrectly
      • Assuming Count is a property
      5.

      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?

      hard
      A. var avg = scores.Average(s => s > 80);
      B. var avg = scores.Where(s => s > 80).Average();
      C. var avg = scores.Sum(s => s > 80) / scores.Count();
      D. var avg = scores.Count(s => s > 80) / scores.Sum();

      Solution

      1. Step 1: Filter scores greater than 80

        Use Where(s => s > 80) to select only scores above 80.
      2. Step 2: Calculate average of filtered scores

        Call Average() on the filtered list to get the mean of those scores.
      3. Final Answer:

        var avg = scores.Where(s => s > 80).Average(); -> Option B
      4. Quick Check:

        Filter then average = correct approach [OK]
      Hint: Filter with Where(), then call Average() [OK]
      Common Mistakes:
      • Passing condition directly to Average()
      • Dividing sum by total count instead of filtered count
      • Using Count divided by Sum incorrectly