#14 – C# foreach Loop

The foreach loop enables you to iterate through each item in a collection. A collection type could be the type that implements the System.Collections.IEnumerable or System.Collections.Generic.IEnumerable interface.

using System;
using System.Collections.Generic;

IList<int> intArr = new List<int>() { 1, 2, 3, 4, 5 };

foreach (var item in intArr)
{
    Console.Write($" {item} ");
}

Console.WriteLine();

Output:

 1  2  3  4  5 

Key Point

You can’t change the value of the item in the collection within foreach. for example:

foreach (var item in intArr)
{
    Console.Write($" {item} ");

    item += 10;
}

You will get compile error:

 error CS1656: Cannot assign to 'item' because it is a 'foreach iteration variable'

If you do want to change the value, you can use for loop instead.

using System;
using System.Collections.Generic;

IList<int> intArr = new List<int>() { 1, 2, 3, 4, 5 };

for (int i = 0; i < intArr.Count; i++)
{
    intArr[i] += 10;
}

foreach (var item in intArr)
{
    Console.Write($" {item} ");
}

Console.WriteLine();

Output:

11  12  13  14  15 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.