ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# ASP.NET Razor - C# 循环和数组 语句在循环中会被重复执行。 ## For 循环 如果您需要重复执行相同的语句,您可以设定一个循环。 如果您知道要循环的次数,您可以使用 **for 循环**。这种类型的循环在向上计数或向下计数时特别有用: ## 实例 ``` <html> <body> @for(var i = 10; i < 21; i++) {<p>Line @i</p>} </body> </html> ``` [运行实例 ?](/try/showfile_c.php?filename=try_razor_cs_005) ## 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> ``` [运行实例 ?](/try/showfile_c.php?filename=try_razor_cs_006) ## While 循环 **while 循环**是一个通用的循环。 while 循环以 while 关键字开始,后面紧跟着括号,您可以在括号里规定循环将持续多久,然后是重复执行的代码块。 while 循环通常会设定一个递增或者递减的变量用来计数。 下面的实例中,+= 运算符在每执行一次循环时给变量 i 的值加 1。 ## 实例 ``` <html> <body> @{ var i = 0; while (i < 5) { i += 1; <p>Line #@i</p> } } </body> </html> ``` [运行实例 ?](/try/showfile_c.php?filename=try_razor_cs_007) ## 数组 当您要存储多个相似变量但又不想为每个变量都创建一个独立的变量时,可以使用数组来存储: ## 实例 ``` @{ 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> ``` [运行实例 ?](/try/showfile_c.php?filename=try_razor_cs_008)