> For the complete documentation index, see [llms.txt](https://university-west.gitbook.io/programming-paradigms/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://university-west.gitbook.io/programming-paradigms/programming-fundamentals/control-structures/iteration-loops/for-each-loops.md).

# For-Each loops

The for-each loop, also known as the enhanced for loop in some languages, is a control flow statement for traversing items in a collection or an array. Instead of specifying the iteration's boundaries and increment/decrement step like in traditional for loops, the for-each loop iterates through each item directly, making the code more readable and less prone to errors, especially when dealing with collections or arrays.

The syntax and mechanics behind a for-each loop vary between programming languages, but its core concept remains the same: for each item in a collection, do something.

#### Python Example

In Python, the for-each loop is simply a for loop that iterates over items of any sequence such as a list, a tuple, or a string.

```python
# Iterating over a list
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
```

This code will output:

```
apple
banana
cherry
```

#### C# Example

In C#, the for-each loop is explicitly defined and used with the `foreach` statement. It's commonly used to iterate over arrays or collections.

```csharp
// Iterating over an array
string[] fruits = { "apple", "banana", "cherry" };
foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}
```

This C# code snippet does the same as the Python example, printing each fruit in the array to the console.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://university-west.gitbook.io/programming-paradigms/programming-fundamentals/control-structures/iteration-loops/for-each-loops.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
