function Raindrops() {
    [CmdletBinding()]
    Param(
        [int]$Number
    )
    $sounds = switch (0) {
        ($Number % 3) {"Pling"}
        ($Number % 5) {"Plang"}
        ($Number % 7) {"Plong"}
        Default {$Number}
    }
    -join $sounds
}

This approach is similar to the if statements. The value 0 is used to match if the input number is divisible for 3, 5 and 7.

$sounds = switch (0){
    ($Number % 3) {"Pling"}
    ($Number % 5) {"Plang"}
    ($Number % 7) {"Plong"}
}

And if none of those conditions are true, the default value will be the original number.

#Other matches
Default {$Number}

Then you just call the -join operator at the end to get the result.

-join $sounds

This approach doesn't need an additional check at the end to see if the result is "empty" or not because it leverage the default behavior of switch statement.

Switch statement.

23e Sep 2026 · Tu l'as trouvée utile ?