Razor ASP.NET - cicli e matrici C#


Le istruzioni possono essere eseguite ripetutamente in loop.


Per i loop

Se devi eseguire le stesse istruzioni ripetutamente, puoi programmare un ciclo.

Se sai quante volte vuoi eseguire il loop, puoi usare un ciclo for . Questo tipo di ciclo è particolarmente utile per il conto alla rovescia o il conto alla rovescia:

Esempio

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

Per ogni loop

Se lavori con una raccolta o un array, usi spesso a for each loop .

Una raccolta è un gruppo di oggetti simili e il ciclo for each ti consente di eseguire un'attività su ciascun elemento. Il ciclo for each scorre una raccolta fino al termine.

L'esempio seguente illustra la raccolta ASP.NET Request.ServerVariables.

Esempio

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


Mentre loop

Il ciclo while è un ciclo generico.

Un ciclo while inizia con la parola chiave while, seguita da parentesi, in cui si specifica per quanto tempo continua il ciclo, quindi un blocco da ripetere.

Mentre i loop in genere aggiungono o sottraggono una variabile utilizzata per il conteggio.

Nell'esempio seguente, l'operatore += aggiunge 1 alla variabile i, ogni volta che il ciclo viene eseguito.

Esempio

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

</body>
</html>

Matrici

Un array è utile quando si desidera memorizzare variabili simili ma non si desidera creare una variabile separata per ciascuna di esse:

Esempio

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