Добавление этого для полноты ...
Наиболее близкий код PowerShell к приведенному выше сценарию VB:
PS C:\> switch (1) {
{$_ -eq 1 -or $_ -eq 3 -or $_ -eq 5 -or $_ -eq 7 -or $_ -eq 9} { "Odd"}
{$_ -eq 2 -or $_ -eq 4 -or $_ -eq 6 -or $_ -eq 8 -or $_ -eq 10} { "Even"}
}
Odd
PS C:\VSProjects\Virtus\App_VM> switch (2) {
{$_ -eq 1 -or $_ -eq 3 -or $_ -eq 5 -or $_ -eq 7 -or $_ -eq 9} { "Odd"}
{$_ -eq 2 -or $_ -eq 4 -or $_ -eq 6 -or $_ -eq 8 -or $_ -eq 10} { "Even"}
}
Even
Поскольку сценарий VB Select Case работает через ИЛИ
Select Case testexpression
[Case expressionlist-n
[statements-n]] . . .
[Case Else
[elsestatements-n]]
End Select
«Если testexpression соответствует любому выражению списка выражений Case, операторы, следующие за этим предложением Case, выполняются вплоть до следующего предложения Case ...» Выбрать оператор Case
Интересная вещь, которую я не смог выяснить, это результат:
PS C:\> switch (1) {
{1 -or 3 -or 5 -or 7 -or 9} { "Odd"}
{2 -or 4 -or 6 -or 8 -or 10} { "Even"}
}
Odd
Even