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

Array iteration with for and foreach in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main difference between for and foreach loops when iterating over an array in C#?

for loop uses an index to access array elements, allowing modification of elements and control over iteration.

foreach loop directly accesses each element without an index, is simpler, but does not allow modifying the array elements directly.

Click to reveal answer
beginner
Write a simple for loop to print all elements of an integer array numbers.
for (int i = 0; i < numbers.Length; i++)
{
    Console.WriteLine(numbers[i]);
}
Click to reveal answer
beginner
How does the foreach loop improve code readability when iterating arrays?

foreach hides the index management and directly gives each element, making the code shorter and easier to read.

Click to reveal answer
intermediate
Can you modify elements of an array inside a foreach loop in C#? Why or why not?

No, you cannot modify the elements directly inside a foreach loop because the loop variable is read-only and represents a copy of the element.

Click to reveal answer
beginner
What happens if you try to access an array element with an index outside its bounds in a for loop?

You get a System.IndexOutOfRangeException error because the index is invalid and outside the array limits.

Click to reveal answer
Which loop is best when you need to modify elements of an array during iteration?
Afor
Bforeach
Cwhile
Ddo-while
What does foreach loop provide when iterating an array?
AOnly index
BIndex and element
COnly element
DNeither index nor element
What property gives the length of an array in C#?
ALength()
BLength
CSize
DCount
What error occurs if you use an invalid index in a for loop?
AIndexOutOfRangeException
BNullReferenceException
CArgumentException
DInvalidOperationException
Which loop is simpler for just reading all elements without changing them?
Afor
Bdo-while
Cwhile
Dforeach
Explain how to iterate over an array using both for and foreach loops in C#.
Think about how you count items versus how you just look at each item.
You got /4 concepts.
    Describe when you would choose a for loop over a foreach loop for array iteration.
    Consider if you need to change or just read the items.
    You got /4 concepts.

      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

      1. Step 1: Understand loop purpose

        foreach is designed to iterate over each element directly without needing the index.
      2. Step 2: Compare with other loops

        for requires index management, while and do-while are less direct for arrays.
      3. Final Answer:

        foreach loop -> Option A
      4. 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

      1. Step 1: Check loop start and end conditions

        Index starts at 0 and runs while less than numbers.Length (array length).
      2. Step 2: Validate index usage

        Accessing numbers[i] is correct; using Count is invalid for arrays.
      3. Final Answer:

        for (int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); } -> Option B
      4. 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

      1. Step 1: Understand foreach iteration

        The loop adds each element (1, 2, 3) to sum one by one.
      2. Step 2: Calculate sum

        sum = 0 + 1 + 2 + 3 = 6
      3. Final Answer:

        6 -> Option D
      4. 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

      1. Step 1: Check loop boundary

        Using i <= arr.Length causes index out of range because last valid index is Length - 1.
      2. Step 2: Correct loop condition

        Change condition to i < arr.Length to avoid runtime error.
      3. Final Answer:

        The loop condition should be i < arr.Length, not i <= arr.Length -> Option A
      4. 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

      1. Step 1: Initialize new array with same length

        We create upperFruits with the same size as fruits.
      2. Step 2: Use for loop with correct index and method

        Loop from 0 to Length-1, assign fruits[i].ToUpper() to upperFruits[i].
      3. Final Answer:

        string[] upperFruits = new string[fruits.Length]; for (int i = 0; i < fruits.Length; i++) { upperFruits[i] = fruits[i].ToUpper(); } -> Option C
      4. 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 unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard