次の方法で共有


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)

こちらも参照ください