ASP.NET Razor - C# ループと配列

文はループ内で繰り返し実行できます。

For ループ

同じ文を繰り返し実行する必要がある場合、ループを記述できます。

ループの回数を確定できる場合、使用できます for ループこのループの種類は、カウントや逆カウントに特化しています:

インスタンス

<html>
<body>
@for(var i = 10; i < 21; i++)
    {<p>Line @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 ループキーワード while で始まり、その後括弧が続くループが持続する長さを定義し、ループするコードブロックが続きます。

while ループは通常、カウント用の変数に対して増減を行います。

以下の例では、ループが一度実行されると、+= 演算子が変数 i に 1 を加えます。

インスタンス

<html>
<body>
@{
var i = 0;
while (i < 5)
    {
    i += 1;
    <p>Line #@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 の person:@x</p>
<p>Kai は位置:@i</p>
</body>
</html>

インスタンスを実行