TOC

This article has been localized into German by the community.

Razor:

Schleifen

Schleifen sind eine äußerst nützliche Programmiertechnik, von der Sie auch in Ihrem Razor-Code viel profitieren können. Durch Schleifen können Sie eine Aktion und / oder Ausgabe für eine bestimmte Anzahl von Iterationen wiederholen. Zum Beispiel, um Elemente in einer Liste auszugeben, wie in den Beispielen dieses Artikels gezeigt.

In C# gibt es verschiedene Arten von Schleifen, die alle in Ihrem Razor-Code verfügbar sind. Gehen wir sie alle mit derselben, sehr einfachen Datenquelle durch: einer Liste von Namen, die wir in eine ungeordnete HTML-Liste umwandeln.

Die Datenquelle

Definieren Sie zunächst oben in Ihrer View-Datei eine Liste mit Namen wie folgt:

@{
List<string> names = new List<string>()
{
"John Doe",
"Jane Doe",
"Joe Doe",
"Jenna Doe",
"Doggy Doe"
};
}

Jetzt können Sie die verschiedenen Arten von Schleifen testen.

Die "for" -schleife

Die for-Schleife eignet sich besonders gut für Situationen, in denen Sie verfolgen müssen, wie weit Sie sich in der Schleife befinden, da Sie immer auf die Zählvariable (in diesem Beispiel mit i bezeichnet) zugreifen können:

<ul>
@for (int i = 0; i < names.Count; i++)
{
<li>@names[i]</li>
}
</ul>

Die "foreach" -schleife

Die foreach-Schleife ist definitiv die am einfachsten zu verwendende für eine Aufgabe wie diese:

<ul>
@foreach (string name in names)
{
<li>@name</li>
}
</ul>

Die "while" -schleife

Die while-Schleife eignet sich besser für andere Anwendungsfälle als diese, aber Sie können sie trotzdem verwenden:

<ul>
@{
int counter = 0;
}
@while(counter < names.Count)
{
<li>@names[counter++]</li>
}
</ul>

Die "do...while" -schleife

Ähnlich wie die while-Schleife ist diese für andere Arten von Schleifenaufgaben relevanter. Der Unterschied zwischen der while- und der do ... while-Schleife besteht darin, dass die Bedingung ausgewertet wird. Für die while-Schleife wird sie vor dem Aufrufen der ersten Iteration ausgewertet, was bedeutet, dass sie möglicherweise niemals eine Schleife ausführt - die Bedingung für eine do ... while-Schleife wird nach der ersten Iteration ausgewertet, was bedeutet, dass sie immer mindestens einmal eine Schleife ausführt:

<ul>
@{
counter = 0;
}
@do
{
<li>@names[counter++]</li>
} while (counter < names.Count);
</ul>

break/continue

Allen diesen Schleifen gemeinsam ist natürlich die Fähigkeit, die Schleife zu unterbrechen (vollständig zu verlassen) und fortzusetzen (die aktuelle Iteration zu stoppen und zum nächsten zu springen). Hier ist ein überarbeitetes Beispiel der for-Schleife, in der wir eine if-Anweisung verwenden, um sicherzustellen, dass wir die Schleife stoppen, nachdem wir maximal 3 Namen gedruckt haben:

<ul>  
@for (int i = 0; i < names.Count; i++)  
{  
<li>@names[i]</li>  
@if(i >= 2)  
{  
<li>...and so on</li>  
break;  
}  
}  
</ul>

Zusammenfassung

Wie Sie sehen, ist das Durchlaufen von Daten mit Razor-Code genau wie in C#. Sie können sogar innerhalb und außerhalb des Markups springen, wie in den Beispielen dargestellt. Dieser Artikel dient hauptsächlich als Beispiel dafür, wie einfach es ist, mit Razor eine Schleife über Daten zu erstellen. Wenn Sie mehr über die Theorie hinter jeder Schleife erfahren möchten, lesen Sie bitte unser C# -Tutorial.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!