ASP.NET Razor - C# smyčky a pole


Příkazy lze provádět opakovaně ve smyčkách.


Pro smyčky

Pokud potřebujete spouštět stejné příkazy opakovaně, můžete naprogramovat smyčku.

Pokud víte, kolikrát chcete opakovat, můžete použít smyčku for . Tento druh smyčky je zvláště užitečný pro počítání nahoru nebo dolů:

Příklad

<html>
<body>
@for(var i = 10; i < 21; i++)
    {<p>Line @i</p>}
</body>
</html>

Pro každou smyčku

Pokud pracujete s kolekcí nebo polem, často používáte pro každou smyčku .

Kolekce je skupina podobných objektů a pro každou smyčku můžete provést úkol na každé položce. Smyčka pro každou smyčku prochází kolekcí, dokud není dokončena.

Níže uvedený příklad vás provede kolekcí ASP.NET Request.ServerVariables.

Příklad

<html>
<body>
<ul>
@foreach (var x in Request.ServerVariables)
    {<li>@x</li>}
</ul>
</body>
</html>


Zatímco smyčky

Smyčka while je smyčka pro obecné účely.

Smyčka while začíná klíčovým slovem while, za kterým následují závorky, kde určíte, jak dlouho bude smyčka pokračovat, a poté blok, který se má opakovat.

Zatímco smyčky obvykle přidávají nebo odečítají od proměnné používané pro počítání.

V níže uvedeném příkladu operátor += přidá 1 k proměnné i při každém spuštění smyčky.

Příklad

<html>
<body>
@{
var i = 0;
while (i < 5)
    {
    i += 1;
    <p>Line @i</p>
    }
}

</body>
</html>

Pole

Pole je užitečné, když chcete uložit podobné proměnné, ale nechcete pro každou z nich vytvářet samostatnou proměnnou:

Příklad

@{
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>