Intro
ile razy używasz instrukcji IF-ELSE z więcej niż 4 warunkami ELSEIF? Chcę pokazać ci porównanie SWITCH vs IF W PowerShell. Dlaczego warto rozważyć użycie instrukcji SWITCH? Spójrz na to.
najpierw sprawdźmy, czym jest polecenie Powershell SWITCH.
co to jest Instrukcje przełącznika PowerShell
czasami musisz przetworzyć wiele pojedynczych warunków. Jestem pewien, że większość początkujących użytkowników PowerShella wybierze polecenia IF-ELSEIF-ELSE. Oto alternatywny sposób, aby to zrobić za pomocą instrukcji SWITCH. Sprawdźmy przykład-określenie pojazdu przez liczbę kół.
$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"}}
$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"}}
przełącznik PowerShell vs jeśli
może zastanawiasz się, dlaczego powinieneś używać instrukcji switch. Jaka jest różnica między instrukcjami Powershell switch a IF. Zawsze możesz użyć warunków IF-ELSE. Jednak zalecam użycie instrukcji SWITCH z kilku powodów.
Po pierwsze, powinieneś zdecydować się na użycie instrukcji SWITCH, ponieważ w niektórych scenariuszach jest to szybsze.
użyję tego samego przykładu, który użyłem wcześniej, aby przetestować szybkość tych instrukcji.
jak widać w tym przykładzie, polecenia IF-ELSE są szybsze. Sprawdźmy, co się stało, jeśli dodam więcej warunków do tych przykładów i zmienię zmienną na typ string.
w rezultacie Instrukcja Switch jest szybsza dla większej liczby warunków, ale wynik jest podobny.
Jeśli masz więcej niż 4 warunki w skrypcie Powershell, polecam rozważyć użycie instrukcji SWITCH.
kolejnym powodem do rozważenia
innym powodem do rozważenia użycia instrukcji SWITCH jest to, że kod Powershell jest łatwiejszy do zrozumienia. Pomaga szybciej modyfikować kod i zmniejszać liczbę błędów.
musisz jednak pamiętać, że nie możesz zastąpić wszystkich warunków poleceniami SWITCH. Pomaga tylko w testowaniu wyrażeń z pojedynczą wartością. Na przykład nie można go użyć do sprawdzenia, czy wartość jest większa. Aby to zrobić, musisz użyć instrukcji IF-ELSE.
wnioski
mam nadzieję, że wyjaśnię, dlaczego powinieneś rozważyć użycie instrukcji SWITCH w swoich skryptach Powershell.
aby przeczytać więcej na temat instrukcji Switch, polecam odwiedzić stronę dokumentacji Microsoft lub świetny artykuł na temat powershellexplained.kom.