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

Foreach loop over collections in C Sharp (C#) - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to loop through each number in the array and print it.

C Sharp (C#)
int[] numbers = {1, 2, 3, 4, 5};
foreach ([1] number in numbers)
{
    Console.WriteLine(number);
}
Drag options to blanks, or click blank then click option'
Adouble
Bstring
Cvar
Dint
Attempts:
3 left
💡 Hint
Common Mistakes
Using string or double instead of int causes errors.
Leaving out the type before the variable name.
2fill in blank
medium

Complete the code to loop through each character in the string and print it.

C Sharp (C#)
string word = "hello";
foreach ([1] ch in word)
{
    Console.WriteLine(ch);
}
Drag options to blanks, or click blank then click option'
Achar
Bstring
Cint
Dvar
Attempts:
3 left
💡 Hint
Common Mistakes
Using string instead of char causes errors.
Using int which is not the correct type for characters.
3fill in blank
hard

Fix the error in the foreach loop to correctly iterate over the list of strings.

C Sharp (C#)
List<string> fruits = new List<string> {"apple", "banana", "cherry"};
foreach (string [1] in fruits)
{
    Console.WriteLine([1]);
}
Drag options to blanks, or click blank then click option'
Afruits
Bfruit
Citem
Df
Attempts:
3 left
💡 Hint
Common Mistakes
Using the collection name fruits as the loop variable.
Using a variable name that is not descriptive.
4fill in blank
hard

Fill both blanks to create a foreach loop that prints each key and value from the dictionary.

C Sharp (C#)
Dictionary<string, int> ages = new Dictionary<string, int> { {"Alice", 30}, {"Bob", 25} };
foreach (KeyValuePair<[1], [2]> entry in ages)
{
    Console.WriteLine($"{entry.Key} is {entry.Value} years old.");
}
Drag options to blanks, or click blank then click option'
Astring
Bint
Cdouble
Dchar
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping the key and value types.
Using types not matching the dictionary declaration.
5fill in blank
hard

Fill all three blanks to create a foreach loop that prints each character and its index from the string.

C Sharp (C#)
string text = "code";
int index = 0;
foreach ([1] ch in text)
{
    Console.WriteLine($"Character {index}: {ch}");
    index [2] [3];
}
Drag options to blanks, or click blank then click option'
Achar
B+=
C1
Dint
Attempts:
3 left
💡 Hint
Common Mistakes
Using int as the loop variable type instead of char.
Using ++ instead of += (both work but only one is in options).
Forgetting to increment the index.

Practice

(1/5)
1. What does a foreach loop do in C#?
easy
A. It visits each item in a collection one by one.
B. It creates a new collection from scratch.
C. It only runs once regardless of collection size.
D. It deletes items from a collection while looping.

Solution

  1. Step 1: Understand the purpose of foreach

    The foreach loop is designed to go through each element in a collection without manual index handling.
  2. Step 2: Compare options to foreach behavior

    Only It visits each item in a collection one by one. correctly describes visiting each item one by one. Other options describe actions foreach does not perform.
  3. Final Answer:

    It visits each item in a collection one by one. -> Option A
  4. Quick Check:

    foreach loops = visit items one by one [OK]
Hint: Foreach always processes every item in the collection [OK]
Common Mistakes:
  • Thinking foreach modifies the collection
  • Confusing foreach with creating collections
  • Assuming foreach runs only once
2. Which of the following is the correct syntax for a foreach loop over a list of strings named names?
easy
A. foreach (name string in names) { Console.WriteLine(name); }
B. foreach (string name in names) { Console.WriteLine(name); }
C. foreach string name in names { Console.WriteLine(name); }
D. foreach (string name : names) { Console.WriteLine(name); }

Solution

  1. Step 1: Recall correct foreach syntax

    The correct syntax uses parentheses with type and variable, then 'in' keyword before collection.
  2. Step 2: Check each option

    foreach (string name in names) { Console.WriteLine(name); } matches correct syntax. foreach string name in names { Console.WriteLine(name); } misses parentheses. foreach (name string in names) { Console.WriteLine(name); } swaps type and variable. foreach (string name : names) { Console.WriteLine(name); } uses ':' which is invalid in C# foreach.
  3. Final Answer:

    foreach (string name in names) { Console.WriteLine(name); } -> Option B
  4. Quick Check:

    foreach syntax = (type variable in collection) [OK]
Hint: Remember: foreach uses (type variable in collection) [OK]
Common Mistakes:
  • Omitting parentheses
  • Using ':' instead of 'in'
  • Swapping variable and type order
3. What will be the output of this code?
string[] fruits = { "apple", "banana", "cherry" };
foreach (string fruit in fruits)
{
    Console.Write(fruit + " ");
}
medium
A. apple banana cherry
B. applebanana cherry
C. apple, banana, cherry
D. apple banana cherry

Solution

  1. Step 1: Understand the loop behavior

    The foreach loop prints each fruit followed by a space, all on the same line.
  2. Step 2: Analyze output format

    Since Console.Write (not WriteLine) is used, output is continuous with spaces between fruits.
  3. Final Answer:

    apple banana cherry -> Option A
  4. Quick Check:

    foreach prints items with space = apple banana cherry [OK]
Hint: Console.Write prints inline; spaces separate items [OK]
Common Mistakes:
  • Assuming Console.WriteLine adds spaces
  • Expecting commas between items
  • Thinking output is on separate lines
4. Identify the error in this code snippet:
List<int> numbers = new List<int> {1, 2, 3};
foreach (int num in numbers)
{
    numbers.Remove(num);
}
medium
A. Variable 'num' is not declared.
B. Missing semicolon after foreach statement.
C. Cannot modify collection while iterating with foreach.
D. List initialization syntax is incorrect.

Solution

  1. Step 1: Understand foreach restrictions

    Modifying a collection (like removing items) while using foreach causes runtime errors.
  2. Step 2: Check other options

    Semicolon is not needed after foreach header. Variable 'num' is declared. List initialization is correct.
  3. Final Answer:

    Cannot modify collection while iterating with foreach. -> Option C
  4. Quick Check:

    Modifying collection in foreach = error [OK]
Hint: Don't change collection inside foreach loop [OK]
Common Mistakes:
  • Trying to remove items inside foreach
  • Confusing foreach syntax errors
  • Ignoring runtime exceptions
5. Given a dictionary Dictionary<string, int> scores, how can you use a foreach loop to print all keys with values greater than 50?
hard
A. foreach (var pair in scores) { Console.WriteLine(pair.Value > 50); }
B. foreach (string key in scores.Values) { if (key > 50) Console.WriteLine(key); }
C. foreach (int value in scores.Keys) { if (value > 50) Console.WriteLine(value); }
D. foreach (var pair in scores) { if (pair.Value > 50) Console.WriteLine(pair.Key); }

Solution

  1. Step 1: Understand dictionary iteration

    Iterating a dictionary with foreach gives key-value pairs as 'var pair'.
  2. Step 2: Filter and print keys with values > 50

    Check pair.Value > 50, then print pair.Key. foreach (var pair in scores) { if (pair.Value > 50) Console.WriteLine(pair.Key); } does this correctly.
  3. Step 3: Analyze incorrect options

    foreach (string key in scores.Values) { if (key > 50) Console.WriteLine(key); } tries to iterate values as strings (wrong). foreach (int value in scores.Keys) { if (value > 50) Console.WriteLine(value); } iterates keys as ints (wrong). foreach (var pair in scores) { Console.WriteLine(pair.Value > 50); } prints booleans, not keys.
  4. Final Answer:

    foreach (var pair in scores) { if (pair.Value > 50) Console.WriteLine(pair.Key); } -> Option D
  5. Quick Check:

    Use var pair and check Value > 50 [OK]
Hint: Use var pair to access key and value in dictionary [OK]
Common Mistakes:
  • Iterating keys as values or vice versa
  • Printing booleans instead of keys
  • Wrong variable types in foreach
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard