ASP.NET Razor - Циклы и массивы в C#

Строки могут повторно выполняться в цикле.

Цикл For

Если вам нужно повторно запускать одинаковые строки, вы можете написать цикл.

Если вы можете определить количество циклов, то вы можете использовать Цикл for. Этот тип цикла专门 предназначен для счетного или обратного счета:

Пример

<html>
<body>
@for(var i = 10; i < 21; i++)
    {<p>Строка @i</p>}
</body>
</html>

Запуск примера

Цикл For Each

Если вам нужно обрабатывать набор или массив, то обычно вам нужно использовать Цикл for each.

Сборник представляет собой группу аналогичных объектов, цикл for each позволяет вам выполнить задачу один раз для каждого элемента. Цикл for each будет перебирать набор до завершения.

В следующем примере перебирается коллекция ASP.NET Request.ServerVariables.

Пример

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

Запуск примера

While цикл

while - это универсальный цикл.

Цикл whileЦикл begins с ключевого слова while, за которым следуют скобки, в которых определен длительность цикла, затем блок кода, который нужно повторять.

Цикл while обычно увеличивает или уменьшает переменную подсчета.

В следующем примере каждый раз, когда цикл выполняется, оператор += добавляет 1 к переменной i.

Пример

<html>
<body>
@{
var i = 0;
while (i < 5)
    {
    i += 1;
    <p>Строка #@i</p>
    }
}
</body>
</html>

Запуск примера

Массив

Если вам нужно хранить подобные переменные, но не создавать отдельную переменную для каждого элемента, то на помощь приходит массив:

Пример

@{
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>Количество Members в Members: @len</p>
<p>В позиции 2 человек: @x</p>
<p>Kai расположен в позиции: @i</p>
</body>
</html>

Запуск примера