ASP.NET Razor - Vòng lặp và mảng C#

Câu lệnh có thể được thực hiện lại trong vòng lặp.

Vòng lặp For

Nếu cần lặp lại câu lệnh giống nhau, bạn có thể viết một vòng lặp.

Nếu bạn có thể xác định số lần lặp của vòng lặp, bạn có thể sử dụng vòng lặp forLoại vòng lặp này được thiết kế đặc biệt để đếm hoặc đếm ngược:

Mẫu

<html>
<body>
@for(var i = 10; i < 21; i++)
    {<p>Đường dòng @i</p>}
</body>
</html>

Chạy mẫu

Vòng lặp For Each

Nếu bạn cần xử lý hợp集合 hoặc mảng, thì thường phải sử dụng vòng lặp for each

Hợp集合 là một nhóm các đối tượng tương tự, vòng lặp for each cho phép bạn thực hiện một nhiệm vụ trên mỗi mục. Vòng lặp for each sẽ lặp qua hợp集合 cho đến khi hoàn thành.

Ví dụ dưới đây lặp qua bộ sưu tập ASP.NET Request.ServerVariables.

Mẫu

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

Chạy mẫu

Vòng lặp While

While là một vòng lặp tổng quát.

Vòng lặp whileVòng lặp while bắt đầu bằng từ khóa while, sau đó là dấu ngoặc, trong đó xác định độ dài của vòng lặp, sau đó là đoạn mã cần lặp lại.

Vòng lặp while thường thực hiện tăng giảm biến đếm.

Trong ví dụ dưới đây, mỗi khi lặp lại, toán tử += sẽ tăng giá trị của biến i lên 1.

Mẫu

<html>
<body>
@{
var i = 0;
while (i < 5)
    {
    i += 1;
    <p>Đường dẫn dòng #@i</p>
    }
}
</body>
</html>

Chạy mẫu

Mảng

Nếu bạn cần lưu trữ các biến tương tự nhưng không muốn tạo biến độc lập cho mỗi mục, thì mảng sẽ rất hữu ích:

Mẫu

@{
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>Số lượng Members trong Members: @len</p>
<p>Người ở vị trí 2: @x</p>
<p>Kai ở vị trí: @i</p>
</body>
</html>

Chạy mẫu