ASP.NET Razor — pętle i tablice języka C#
Instrukcje mogą być wykonywane wielokrotnie w pętlach.
Dla pętli
Jeśli potrzebujesz powtarzać te same instrukcje, możesz zaprogramować pętlę.
Jeśli wiesz, ile razy chcesz zapętlić, możesz użyć pętli for . Ten rodzaj pętli jest szczególnie przydatny do liczenia w górę lub w dół:
Przykład
<html>
<body>
@for(var i = 10; i < 21; i++)
{<p>Line @i</p>}
</body>
</html>
Dla każdej pętli
Jeśli pracujesz z kolekcją lub tablicą, często używasz pętli for each .
Kolekcja to grupa podobnych obiektów, a pętla for each umożliwia wykonanie zadania na każdym elemencie. Pętla for each przechodzi przez kolekcję, aż do jej zakończenia.
Poniższy przykład przedstawia kolekcję ASP.NET Request.ServerVariables.
Przykład
<html>
<body>
<ul>
@foreach (var x in
Request.ServerVariables)
{<li>@x</li>}
</ul>
</body>
</html>
Podczas gdy pętle
Pętla while jest pętlą ogólnego przeznaczenia.
Pętla while rozpoczyna się słowem kluczowym while, po którym następują nawiasy, w których określasz, jak długo pętla ma trwać, a następnie blok do powtórzenia.
Podczas gdy pętle zwykle dodają lub odejmują od zmiennej używanej do liczenia.
W poniższym przykładzie operator += dodaje 1 do zmiennej i przy każdym uruchomieniu pętli.
Przykład
<html>
<body>
@{
var i = 0;
while (i < 5)
{
i += 1;
<p>Line @i</p>
}
}
</body>
</html>
Tablice
Tablica jest przydatna, gdy chcesz przechowywać podobne zmienne, ale nie chcesz tworzyć osobnej zmiennej dla każdej z nich:
Przykład
@{
string[] members = {"Jani", "Hege", "Kai",
"Jim"};
int i = Array.IndexOf(members, "Kai")+1;
int len =
members.Length;
string x = members[2-1];
}
<html>
<body>
<h3>Members</h3>
@foreach (var person in
members)
{
<p>@person</p>
}
<p>The number of names
in Members are @len</p>
<p>The person at
position 2 is @x</p>
<p>Kai is now in
position @i</p>
</body>
</html>