ASP.NET Razor - C# 循环和数组

语句可以在循环中重复执行。

For 循环

如果需要重复运行相同的语句,您可以编写一个循环。

如果您能够确定循环的次数,则可以使用 for 循环。这种循环类型是专门为计数或反向计数设计的:

实例

  1. <html>
  2. <body>
  3. @for(var i = 10; i < 21; i++)
  4. {<p>Line @i</p>}
  5. </body>
  6. </html>

For Each 循环

如果您需要处理集合或数组,则通常要用到 for each 循环

集合是一组相似的对象,for each 循环允许您在每个项目上执行一次任务。for each 循环会遍历集合直到完成为止。

下面的例子遍历 ASP.NET Request.ServerVariables 集合。

实例

  1. <html>
  2. <body>
  3. <ul>
  4. @foreach (var x in Request.ServerVariables)
  5. {<li>@x</li>}
  6. </ul>
  7. </body>
  8. </html>

While 循环

while 是一种通用的循环。

while 循环以关键词 while 开始,后面跟括号,其中定义循环持续的长度,然后是要循环的代码块。

while 循环通常会对用于计数的变量进行增减。

在下面的例子中,循环每运行一次,+= 运算符就向变量 i 增加 1。

实例

  1. <html>
  2. <body>
  3. @{
  4. var i = 0;
  5. while (i < 5)
  6. {
  7. i += 1;
  8. <p>Line #@i</p>
  9. }
  10. }
  11. </body>
  12. </html>

数组

如果您需要存储相似的变量,但又不希望为每个项目创建独立的变量,那么数组就派上用场了:

实例

  1. @{
  2. string[] members = {"Jani", "Hege", "Kai", "Jim"};
  3. int i = Array.IndexOf(members, "Kai")+1;
  4. int len = members.Length;
  5. string x = members[2-1];
  6. }
  7. <html>
  8. <body>
  9. <h3>Members</h3>
  10. @foreach (var person in members)
  11. {
  12. <p>@person</p>
  13. }
  14. <p>The number of names in Members are @len</p>
  15. <p>The person at position 2 is @x</p>
  16. <p>Kai is now in position @i</p>
  17. </body>
  18. </html>