ASP.NET Razor : bucles y matrices de C#
Las declaraciones se pueden ejecutar repetidamente en bucles.
Para bucles
Si necesita ejecutar las mismas declaraciones repetidamente, puede programar un bucle.
Si sabe cuántas veces quiere hacer un bucle, puede usar un bucle for . Este tipo de bucle es especialmente útil para contar hacia adelante o hacia atrás:
Ejemplo
<html>
<body>
@for(var i = 10; i < 21; i++)
{<p>Line @i</p>}
</body>
</html>
Para cada bucle
Si trabaja con una colección o una matriz, a menudo usa un bucle for each .
Una colección es un grupo de objetos similares, y el bucle for each le permite realizar una tarea en cada elemento. El ciclo for each recorre una colección hasta que finaliza.
El siguiente ejemplo recorre la colección Request.ServerVariables de ASP.NET.
Ejemplo
<html>
<body>
<ul>
@foreach (var x in
Request.ServerVariables)
{<li>@x</li>}
</ul>
</body>
</html>
Mientras bucles
El bucle while es un bucle de propósito general.
Un ciclo while comienza con la palabra clave while, seguida de paréntesis, donde especifica cuánto tiempo continúa el ciclo, luego un bloque para repetir.
Mientras que los bucles normalmente suman o restan de una variable utilizada para contar.
En el siguiente ejemplo, el operador += suma 1 a la variable i, cada vez que se ejecuta el bucle.
Ejemplo
<html>
<body>
@{
var i = 0;
while (i < 5)
{
i += 1;
<p>Line @i</p>
}
}
</body>
</html>
arreglos
Una matriz es útil cuando desea almacenar variables similares pero no desea crear una variable separada para cada una de ellas:
Ejemplo
@{
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>