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

Aggregate functions (Count, Sum, Average) in C Sharp (C#) - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Aggregate Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output of this Count example?

Consider this C# code that counts elements in a list:

var numbers = new List<int> {1, 2, 3, 4, 5};
int count = numbers.Count(n => n > 3);
Console.WriteLine(count);

What will be printed?

C Sharp (C#)
var numbers = new List<int> {1, 2, 3, 4, 5};
int count = numbers.Count(n => n > 3);
Console.WriteLine(count);
A2
B3
C5
D4
Attempts:
2 left
💡 Hint

Count counts how many items satisfy the condition.

Predict Output
intermediate
2:00remaining
What is the sum of these numbers?

Look at this code that sums numbers:

var values = new List<int> {10, 20, 30};
int total = values.Sum();
Console.WriteLine(total);

What is printed?

C Sharp (C#)
var values = new List<int> {10, 20, 30};
int total = values.Sum();
Console.WriteLine(total);
A0
B60
C100
D30
Attempts:
2 left
💡 Hint

Sum adds all numbers in the list.

Predict Output
advanced
2:00remaining
What is the average value computed here?

Analyze this code that calculates average:

var scores = new List<double> {4.0, 5.0, 6.0};
double avg = scores.Average();
Console.WriteLine(avg);

What will be printed?

C Sharp (C#)
var scores = new List<double> {4.0, 5.0, 6.0};
double avg = scores.Average();
Console.WriteLine(avg);
A5
B15
C4
D6
Attempts:
2 left
💡 Hint

Average is total sum divided by count.

Predict Output
advanced
2:00remaining
What error occurs when calling Average on an empty list?

Consider this code:

var emptyList = new List<int>();
double avg = emptyList.Average();
Console.WriteLine(avg);

What happens when this runs?

C Sharp (C#)
var emptyList = new List<int>();
double avg = emptyList.Average();
Console.WriteLine(avg);
A0
Bnull
CInvalidOperationException
DDivideByZeroException
Attempts:
2 left
💡 Hint

Average on empty collections throws an error.

🧠 Conceptual
expert
3:00remaining
How many items are counted here?

Given this code:

var data = new List<int> {1, 2, 3, 4, 5, 6};
int count = data.Count(n => n % 2 == 0 && n > 3);
Console.WriteLine(count);

How many items satisfy the condition?

C Sharp (C#)
var data = new List<int> {1, 2, 3, 4, 5, 6};
int count = data.Count(n => n % 2 == 0 && n > 3);
Console.WriteLine(count);
A4
B3
C1
D2
Attempts:
2 left
💡 Hint

Count numbers that are even and greater than 3.

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