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

Aggregate functions (Count, Sum, Average) in C Sharp (C#) - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to count the number of elements in the list.

C Sharp (C#)
int count = numbers.[1]();
Drag options to blanks, or click blank then click option'
ACount
BSum
CAverage
DMax
Attempts:
3 left
💡 Hint
Common Mistakes
Using Sum() instead of Count()
Using Average() which calculates the mean
Using Max() which finds the largest value
2fill in blank
medium

Complete the code to calculate the sum of all elements in the list.

C Sharp (C#)
int total = numbers.[1]();
Drag options to blanks, or click blank then click option'
AMin
BSum
CAverage
DCount
Attempts:
3 left
💡 Hint
Common Mistakes
Using Count() which returns the number of elements
Using Average() which calculates the mean
Using Min() which finds the smallest value
3fill in blank
hard

Fix the error in the code to calculate the average of the list elements.

C Sharp (C#)
double avg = numbers.[1]();
Drag options to blanks, or click blank then click option'
AAverage
BCount
CSum
DMax
Attempts:
3 left
💡 Hint
Common Mistakes
Using Sum() which adds all elements
Using Count() which counts elements
Using Max() which finds the largest element
4fill in blank
hard

Fill both blanks to create a dictionary with words as keys and their lengths as values.

C Sharp (C#)
var lengths = new Dictionary<string, int> { { [1], [2] } };
Drag options to blanks, or click blank then click option'
Aword
Bword.Length
Cword.Length > 3
D"length"
Attempts:
3 left
💡 Hint
Common Mistakes
Using a boolean expression as a value
Using a string 'length' instead of the actual length
Using the length as key instead of value
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps uppercase words to their lengths, including only words longer than 4 characters.

C Sharp (C#)
var result = words.Where(word => word.Length [1] 4).ToDictionary([2] => [3], word => word.Length);
Drag options to blanks, or click blank then click option'
A>
Bw
Cw.ToUpper()
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>' in the filter
Using the original word as key instead of uppercase
Using the wrong lambda parameter name

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