C#: Get Index value in foreach Loop of IEnumerable

visibility 303 access_time 8 months ago languageEnglish
more_vert

In C#, we can use foreach to loop enumerable variables. For example the following code snippet loops through the string enumerable:

var items = new []{"Hello","World","!"} as IEnumerable<string>;
foreach(var item in items)
    Console.WriteLine(item);

In some scenarios, it might be helpful to get the index too. This code snippet shows one approach to implement that. 

Code snippet

var items = new []{"Hello","World","!"} as IEnumerable<string>;
foreach(var (item, i) in items.Select((item, i)=> (item, i)))
    Console.WriteLine("{0:000} - {1:%s}", i, item);

The above code snippet utilize Select LINQ extension method.

Output:

000 - Hello
001 - World
002 - !
info Last modified by Raymond 8 months ago copyright This page is subject to Site terms.
Like this article?
Share on

Please log in or register to comment.

account_circle Log in person_add Register

Log in with external accounts