Share via


about_Do

Descripción breve

Ejecuta una lista de instrucciones una o varias veces, sujeta a una While condición o Until .

Descripción larga

La Do palabra clave funciona con la While palabra clave o la Until palabra clave para ejecutar las instrucciones en un bloque de script, sujeto a una condición. A diferencia del bucle relacionado While , el bloque de script de un Do bucle siempre se ejecuta al menos una vez.

Un bucle Do-While es una variedad de bucles While . En un bucle Do-While , la condición se evalúa después de ejecutar el bloque de script. Como en un bucle While, el bloque de script se repite siempre que la condición se evalúe como true.

Al igual que un bucle Do-While , un bucle Do-Until siempre se ejecuta al menos una vez antes de evaluar la condición. Sin embargo, el bloque de script solo se ejecuta mientras la condición es false.

Las palabras clave de Continue control de flujo y Break se pueden usar en un bucle Do-While o en un bucle Do-Until .

Sintaxis

A continuación se muestra la sintaxis de la instrucción Do-While :

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

A continuación se muestra la sintaxis de la instrucción Do-Until :

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

La lista de instrucciones contiene una o varias instrucciones que se ejecutan cada vez que se introduce o repite el bucle.

La parte de condición de la instrucción se resuelve en true o false. Para obtener más información sobre cómo se evalúan los valores booleanos, consulte about_Booleans.

Ejemplo

En el ejemplo siguiente de una Do instrucción se cuentan los elementos de una matriz hasta que alcanza un elemento con un valor de 0.

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

En el ejemplo siguiente se usa la Until palabra clave . Observe que el operador no es igual a (-ne) se reemplaza por el operador igual a (-eq).

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

En el ejemplo siguiente se escriben todos los valores de una matriz, omitiendo cualquier valor menor que cero.

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

Consulte también