Powershell - Declaración de Switch

UN switchLa declaración permite probar la igualdad de una variable con una lista de valores. Cada valor se denomina caso y la variable que se activa se verifica para cada caso.

Sintaxis

La sintaxis de bucle for mejorado es:

switch(<test-value>) {
   <condition> {<action>} 
      break; // optional
   <condition> {<action>} 
      break; // optional
   <condition> {<action>} 
      break; // optional
}

Las siguientes reglas se aplican a switch declaración -

  • La variable utilizada en una declaración de cambio solo puede ser cualquier objeto o una matriz de objetos.

  • Puede tener cualquier número de declaraciones de casos dentro de un conmutador. A cada caso le sigue una acción opcional a realizar.

  • El valor de un caso debe ser del mismo tipo de datos que la variable en el conmutador y debe ser una constante o literal.

  • Cuando la variable que se activa es igual a un caso, las declaraciones que siguen a ese caso se ejecutarán hasta que se alcance una declaración de interrupción .

  • Cuando una ruptura se alcanza declaración, el interruptor termina, y el flujo de control salta a la siguiente línea después de la sentencia switch.

  • No todos los casos deben contener un descanso. Si no aparece ninguna rotura, el flujo de control va a caer a través de casos posteriores hasta que se alcanza un descanso.

Diagrama de flujo

Ejemplo 1

Ejemplo de estado de cambio sin estado de descanso.

switch(3){
   1 {"One"}
   2 {"Two"}
   3 {"Three"}
   4 {"Four"}
   3 {"Three Again"}
}

Esto producirá el siguiente resultado:

Salida

Three
Three Again

Ejemplo 2

Ejemplo de estado de cambio con estado de descanso.

switch(3){
   1 {"One"}
   2 {"Two"}
   3 {"Three"; break }
   4 {"Four"}
   3 {"Three Again"}
}

Esto producirá el siguiente resultado:

Salida

Three

Ejemplo 3

Ejemplo de declaración de interruptor con matriz como entrada.

switch(4,2){
   1 {"One"}
   2 {"Two"}
   3 {"Three"; break }
   4 {"Four"}
   3 {"Three Again"}
}

Esto producirá el siguiente resultado:

Salida

Four
Two