ASP.NET Razor — циклы и массивы VB
Операторы могут многократно выполняться в циклах.
Для циклов
Если вам нужно многократно запускать одни и те же операторы, вы можете запрограммировать цикл.
Если вы знаете, сколько раз вы хотите выполнить цикл, вы можете использовать цикл for . Такой цикл особенно удобен для прямого или обратного счета:
Пример
<html>
<body>
@For i=10 To 21
@<p>Line #@i</p>
Next i
</body>
</html>
Для каждой петли
Если вы работаете с коллекцией или массивом, вы часто используете цикл for each .
Коллекция — это группа похожих объектов, и цикл for each позволяет выполнять задачу для каждого элемента. Цикл for each проходит через коллекцию, пока она не будет завершена.
В приведенном ниже примере рассматривается коллекция ASP.NET Request.ServerVariables.
Пример
<html>
<body>
<ul>
@For Each x
In Request.ServerVariables
@<li>@x</li>
Next x
</ul>
</body>
</html>
Пока циклы
Цикл while является циклом общего назначения.
Цикл while начинается с ключевого слова while, за которым следуют круглые скобки, где вы указываете, как долго будет продолжаться цикл, а затем блок для повторения.
Циклы While обычно добавляют или вычитают переменную, используемую для подсчета.
В приведенном ниже примере оператор += добавляет 1 к переменной i при каждом выполнении цикла.
Пример
<html>
<body>
@Code
Dim i=0
Do While
i<5
i += 1
@<p>Line #@i</p>
Loop
End Code
</body>
</html>
Массивы
Массив полезен, когда вы хотите хранить похожие переменные, но не хотите создавать для каждой из них отдельную переменную:
Пример
@Code
Dim members As String()={"Jani","Hege","Kai","Jim"}
i=Array.IndexOf(members,"Kai")+1
len=members.Length
x=members(2-1)
end Code
<html>
<body>
<h3>Members</h3>
@For Each person In members
@<p>@person</p>
Next person
<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>