📖 Scenario: You are helping a small shop owner who wants to list the prices of items they sell. They have a list of prices and want to see each price printed one by one.
🎯 Goal: Build a simple C# program that stores item prices in an array and then prints each price using both a for loop and a foreach loop.
📋 What You'll Learn
Create an array called prices with the exact values: 10.5, 20.0, 15.75, 30.0
Create an integer variable called length that stores the length of the prices array
Use a for loop with variable i to iterate over prices using length
Use a foreach loop with variable price to iterate over prices
Print each price inside both loops using Console.WriteLine(price)
💡 Why This Matters
🌍 Real World
Iterating over arrays is common when handling lists of data like prices, names, or scores in many programs.
💼 Career
Knowing how to use <code>for</code> and <code>foreach</code> loops to process arrays is a basic skill needed for software development jobs.
Progress0 / 4 steps
1
Create the array of prices
Create an array called prices with these exact values: 10.5, 20.0, 15.75, 30.0.
C Sharp (C#)
Hint
Use double[] prices = {10.5, 20.0, 15.75, 30.0}; to create the array.
2
Create a variable for the array length
Create an integer variable called length that stores the length of the prices array using prices.Length.
C Sharp (C#)
Hint
Use int length = prices.Length; to get the number of items in the array.
3
Use a for loop to print each price
Use a for loop with variable i from 0 to length - 1 to print each price from the prices array using Console.WriteLine(prices[i]).
C Sharp (C#)
Hint
Use for (int i = 0; i < length; i++) and print prices[i] inside the loop.
4
Use a foreach loop to print each price
Use a foreach loop with variable price to iterate over prices and print each price using Console.WriteLine(price).
C Sharp (C#)
Hint
Use foreach (double price in prices) and print price inside the loop.
Practice
(1/5)
1. Which loop is best when you want to access each element in an array without needing the index in C#?
easy
A. foreach loop
B. for loop
C. while loop
D. do-while loop
Solution
Step 1: Understand loop purpose
foreach is designed to iterate over each element directly without needing the index.
Step 2: Compare with other loops
for requires index management, while and do-while are less direct for arrays.
Final Answer:
foreach loop -> Option A
Quick Check:
Direct element access = foreach [OK]
Hint: Use foreach when index is not needed for array items [OK]
Common Mistakes:
Choosing for loop when index is not required
Confusing while loops with foreach
Thinking foreach can modify array size
2. Which of the following is the correct syntax for iterating over an array named numbers using a for loop in C#?
easy
A. for (int i = 0; i < numbers.Count; i++) { Console.WriteLine(numbers[i]); }
B. for (int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); }
C. for (int i = 0; i <= numbers.Length; i++) { Console.WriteLine(numbers[i]); }
D. for (int i = 1; i <= numbers.Length; i++) { Console.WriteLine(numbers[i]); }
Solution
Step 1: Check loop start and end conditions
Index starts at 0 and runs while less than numbers.Length (array length).
Step 2: Validate index usage
Accessing numbers[i] is correct; using Count is invalid for arrays.
Final Answer:
for (int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); } -> Option B
Quick Check:
Index 0 to Length-1 = correct for loop [OK]
Hint: Use i < array.Length, not <= or Count for arrays [OK]
Common Mistakes:
Using i <= numbers.Length causing out-of-range error
Starting index at 1 instead of 0
Using Count property on arrays
3. What will be the output of the following C# code?
int[] nums = {1, 2, 3};
int sum = 0;
foreach (int n in nums) {
sum += n;
}
Console.WriteLine(sum);
medium
A. Error
B. 123
C. 0
D. 6
Solution
Step 1: Understand foreach iteration
The loop adds each element (1, 2, 3) to sum one by one.
Step 2: Calculate sum
sum = 0 + 1 + 2 + 3 = 6
Final Answer:
6 -> Option D
Quick Check:
Sum of array elements = 6 [OK]
Hint: Sum elements by adding each in foreach loop [OK]
Common Mistakes:
Concatenating numbers instead of adding
Forgetting to initialize sum to 0
Using for loop incorrectly causing index errors
4. Identify the error in this C# code snippet:
int[] arr = {10, 20, 30};
for (int i = 0; i <= arr.Length; i++) {
Console.WriteLine(arr[i]);
}
medium
A. The loop condition should be i < arr.Length, not i <= arr.Length
B. The array declaration is incorrect
C. Console.WriteLine cannot print array elements
D. The loop variable i should start at 1
Solution
Step 1: Check loop boundary
Using i <= arr.Length causes index out of range because last valid index is Length - 1.
Step 2: Correct loop condition
Change condition to i < arr.Length to avoid runtime error.
Final Answer:
The loop condition should be i < arr.Length, not i <= arr.Length -> Option A
Quick Check:
Index must be less than Length [OK]
Hint: Use i < array.Length to avoid out-of-range errors [OK]
Common Mistakes:
Using <= instead of < in loop condition
Starting index at 1 instead of 0
Misunderstanding array length vs last index
5. You have an array string[] fruits = {"apple", "banana", "cherry"};. You want to create a new array with all fruit names in uppercase using a for loop. Which code correctly does this?
hard
A. string[] upperFruits = new string[fruits.Length];
for (int i = 1; i <= fruits.Length; i++) {
upperFruits[i] = fruits[i].ToUpper();
}
B. string[] upperFruits = new string[fruits.Length];
foreach (string f in fruits) {
upperFruits[i] = f.ToUpper();
}
C. string[] upperFruits = new string[fruits.Length];
for (int i = 0; i < fruits.Length; i++) {
upperFruits[i] = fruits[i].ToUpper();
}
D. string[] upperFruits = new string[fruits.Length];
for (int i = 0; i < fruits.Length; i++) {
upperFruits[i] = fruits.ToUpper();
}
Solution
Step 1: Initialize new array with same length
We create upperFruits with the same size as fruits.
Step 2: Use for loop with correct index and method
Loop from 0 to Length-1, assign fruits[i].ToUpper() to upperFruits[i].
Final Answer:
string[] upperFruits = new string[fruits.Length]; for (int i = 0; i < fruits.Length; i++) { upperFruits[i] = fruits[i].ToUpper(); } -> Option C
Quick Check:
Use for loop with index and ToUpper() per element [OK]
Hint: Use for loop with index to assign transformed elements [OK]
Common Mistakes:
Using foreach without index to assign array elements
Starting loop at 1 or using <= causing errors
Calling ToUpper() on array instead of string element
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.