TOC

This article has been localized into Hungarian by the community.

Razor:

Ciklusok

A ciklusok használata hasznos programozási technika, ami a Razor kódodban is nagy segítséget nyújthat. Ciklusokkal megismételhetsz egy bizonyos cselekedetet egy bizonyos számú alkalommal - például egy lista elemeit kiíratni, ahogy azt a következő példákban látni fogjuk.

A C# több különböző ciklussal rendelkezik, és ezek mind rendelkezésedre állnak Razorben is. Vegyük most végig őket, mindnél ugyanazt az adatforrást használva: egy névlistát, amit rendezetlen HTML listává szeretnénk változtatni.

Az adatforrás

Kezdd egy névlista definiálásával a nézet fájlod tetején:

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

Ezzel elkezdhetjük a különböző ciklusokat tesztelni.

A for ciklus

A for ciklus akkor hasznos, amikor számon kell tartanod, hányadik iterációjánál tartasz a ciklusnak, mivel hozzáférésed van a számoló változóhoz a ciklus testében (ennek a neve ezúttal i):

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

A foreach ciklus

Egy ilyen feladatra mindenképp a foreach ciklus a legegyszerűbb:

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

A while ciklus

A while ciklus inkább más körülmények között hasznos, de ettől még használható itt is:

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

A do...while ciklus

Mint a while ciklus, ez is másfajta feladatoknál használtabb. A különbség a while és a do...while ciklusok közt az, hogy a feltétel mikor értékelődik ki a. A while ciklus esetén ez az első iteráció előtt történik, ami azzal járhat, hogy el sem kezdődik a ciklus. A do...while ciklus esetén viszont ellenkezőleg, az első iteráció után történik a kiértékelés, ami miatt legalább egyszer mindenképp végre van hajtva a ciklus:

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

break/continue

Közös ezekben a ciklusokban, hogy képesek saját maguk teljes megszakítására (break, teljesen megszakad a ciklus), valamint a jelenlegi iteráció átugrására (continue, megszakad a jelenlegi iteráció, de folytatódik a ciklus). Alább a for ciklusos példa átírásában megállítjuk a ciklust egy if állítás segítségével, amint kiírtunk három nevet:

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

Összefoglaló

Ahogy láthattad, a ciklusok használata ugyanolyan Razorben, mint C#-ban. Akár ki- és be ugrálhatsz markupba, ahogy a példák is mutatták. Ez a cikk leginkább illusztrációként szolgál, hogy milyen könnyen is lehet adatforrásokon ciklust végrehajtani Razorben - ha többet szeretnél a ciklusok mögötti elméletről tudni, keresd fel bátran C# tanfolyamunkat.


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!