次の方法で共有


about_Do

簡単な説明

WhileまたはUntil条件に従って、ステートメント リストを 1 回以上実行します。

詳細な説明

Do キーワードは、While キーワードまたは Until キーワードと連携して、条件に従ってスクリプト ブロック内のステートメントを実行します。 関連する While ループとは異なり、 Do ループ内のスクリプト ブロックは常に少なくとも 1 回実行されます。

Do-While ループは、さまざまなWhile ループです。 Do-While ループでは、スクリプト ブロックの実行後に条件が評価されます。 While ループと同様に、条件が true に評価される限り、スクリプト ブロックが繰り返されます。

Do-While ループと同様に、Do-Until ループは、条件が評価される前に常に少なくとも 1 回実行されます。 ただし、スクリプト ブロックは条件が false の間だけ実行されます。

ContinueおよびBreakフロー制御キーワードは、Do-While ループまたは Do-Until ループで使用できます。

構文

次に、 Do-While ステートメントの構文を示します。

do {<statement list>} while (<condition>)

次に、 Do-Until ステートメントの構文を示します。

do {<statement list>} until (<condition>)

ステートメント リストには、ループが入力または繰り返されるたびに実行される 1 つ以上のステートメントが含まれています。

ステートメントの条件部分は true または false に解決されます。 ブール値の評価方法の詳細については、「 about_Booleans」を参照してください。

次の Do ステートメントの例では、値が 0 の項目に達するまで、配列内の項目をカウントします。

PS> $x = 1,2,78,0
PS> do { $count++; $a++; } while ($x[$a] -ne 0)
PS> $count
3

次の例では、 Until キーワードを使用します。 等しくない演算子 (-ne) が等しい演算子 (-eq) に置き換えられます。

PS> $x = 1,2,78,0
PS> do { $count++; $a++; } until ($x[$a] -eq 0)
PS> $count
3

次の例では、0 未満の値をスキップして、配列のすべての値を書き込みます。

do {
  if ($x[$a] -lt 0) { continue }
  Write-Host $x[$a]
}
while (++$a -lt 10)

関連項目