Intro
How many times are you using IF-ELSE statements with more than 4 ELSEIF conditions? Haluan näyttää sinulle vertailukytkin vs IF lausunnot Powershellissa. Miksi sinun pitäisi harkita KYTKINLAUSEKKEEN käyttöä? Katso tätä.
ensiksi tarkistetaan, mikä on Powershell SWITCH Statement.
what is PowerShell Switch statements
sometimes you have to process many single Conditions. Olen varma, että useimmat PowerShellin aloittelijat valitsevat IF-ELSEIF-ELSE-lausumat. Tässä on vaihtoehtoinen tapa tehdä tämä kytkin lausuntoja. Katsotaanpa esimerkin määräävä ajoneuvo pyörien perusteella.
$WheelsCount = 4if ($WheelsCount -eq 4) {Write-Host "it's a car"}`elseif ($WheelsCount -eq 2) {Write-Host "it's a bike"}`elseif ($WheelsCount -eq 0) {Write-Host "it's a boat"}`else {Write-Host "Unknow"}
$WheelsCount = 4switch ($WheelsCount) { 4 {Write-Host "it's a car"}` 2 {Write-Host "it's a bike"}` 0 {Write-Host "it's a boat"}` default {Write-Host "Unknow"}}
PowerShell Switch vs jos
ehkä mietit, miksi sinun pitäisi käyttää kytkinlauseita. Mitä eroa on Powershell SWITCH vs IF-lausumien välillä. Voit aina käyttää IF-ELSE ehtoja. Suosittelen kuitenkin käyttämään VAIHTOLAUSEITA muutamasta syystä.
ensinnäkin, sinun pitäisi päättää käyttää SWITCH-lausekkeita, koska joissakin skenaarioissa se on nopeampaa.
käytän samaa esimerkkiä, jota käytin aiemmin testatessani näiden lauseiden nopeutta.
kuten tästä esimerkistä näkyy, IF-ELSE-lauseet ovat nopeampia. Katsotaanpa, mitä tapahtui, jos lisään lisää ehtoja näihin esimerkkeihin ja muutan muuttujan merkkijonotyypiksi.
tämän seurauksena kytkinlauseke on nopeampi useammissa olosuhteissa, mutta tulos on samanlainen.
Jos Powershell-skriptissä on enemmän kuin 4 ehtoa, suosittelen harkitsemaan SWITCH-lauseiden käyttöä.
toinen syy harkita
toinen syy harkita KYTKINLAUSEIDEN käyttöä on se, että Powershell-koodi on helpompi ymmärtää. Se auttaa muokkaamaan koodia nopeammin ja vähentämään virheiden määrää.
on kuitenkin muistettava, ettei kaikkia ehtoja voi korvata VAIHTOLAUSEILLA. Se auttaa vain testaamaan ilmaisuja, joilla on yksi arvo. Sen avulla ei voi esimerkiksi tarkistaa, onko arvo suurempi. Voit tehdä tämän, sinun täytyy käyttää IF-ELSE lauseke.
johtopäätös
toivon, että selitän, miksi sinun pitäisi harkita SWITCH-lauseiden käyttämistä Powershell-skripteissä.
Jos haluat lukea lisää Switch-lausunnoista, suosittelen käymään Microsoft documentation page-sivulla tai suuressa artikkelissa powershellexplained-sivustolla.com.