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

Aggregate functions (Count, Sum, Average) in C Sharp (C#) - Mini Project: Build & Apply

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
Aggregate functions (Count, Sum, Average)
📖 Scenario: You work in a small store and want to analyze sales data to understand how many items were sold, the total sales amount, and the average price per item.
🎯 Goal: Build a simple C# program that uses aggregate functions to count items, sum prices, and calculate the average price from a list of sales.
📋 What You'll Learn
Create a list of sales with exact prices
Create a variable to hold the number of sales
Calculate the total sum of sales prices
Calculate the average price of sales
Print the count, sum, and average values
💡 Why This Matters
🌍 Real World
Stores and businesses often analyze sales data to understand performance and make decisions.
💼 Career
Knowing how to use aggregate functions like count, sum, and average is essential for data analysis and reporting in many programming jobs.
Progress0 / 4 steps
1
Create the sales data list
Create a List<double> called sales with these exact values: 10.5, 20.0, 15.75, 30.0, 25.25.
C Sharp (C#)
Hint

Use List<double> and initialize it with the exact numbers inside curly braces.

2
Create a variable to count sales
Create an int variable called count and set it to the number of items in the sales list using sales.Count.
C Sharp (C#)
Hint

Use int count = sales.Count; to get the number of items.

3
Calculate sum and average of sales
Create a double variable called sum and set it to the sum of all values in sales using sales.Sum(). Then create a double variable called average and set it to sum / count.
C Sharp (C#)
Hint

Use sales.Sum() to get the total sum. Then divide by count to get the average.

4
Print the count, sum, and average
Write three Console.WriteLine statements to print the values of count, sum, and average exactly as shown:
Count: 5
Sum: 101.5
Average: 20.3.
Use average.ToString("F1") to format the average to one decimal place.
C Sharp (C#)
Hint

Use Console.WriteLine with string interpolation and format average with ToString("F1").

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