Ответ 1
Это не то же самое, что использовать ключевое слово break
с операторами switch
на языках C-типа. С помощью switch
, если вы опустите контроль прерывания, он перейдет к следующему случаю. С Visual Basic Select
управление не проходит; a break
уже подразумевается.
Однако вы можете использовать его в качестве предложения охраны, чтобы избежать необходимости вставлять код другого уровня в блок if
. Например:
Select Case SomeEnumVar
Case SomeEnum.SomeValue1
If Not SomeCondition Then Exit Select
'Do something
Case SomeEnum.SomeValue2
'Do something else
Case Else
'Default case
End Select
Это немного лучше, чем этот эквивалентный код:
Select Case SomeEnumVar
Case SomeEnum.SomeValue1
If SomeCondition Then
'Do something
End If
Case SomeEnum.SomeValue2
'Do something else
Case Else
'Default case
End Select
Любая разница в производительности между этими двумя образцами практически невелика по сравнению с другими факторами.
Еще одно использование - если у вас много случаев, и один из случаев помещен так, что совпадение означает, что вы хотите прекратить проверку всех остальных. Это уже происходит, и поэтому у вас может быть просто пустой регистр. Но вы также можете добавить Exit Select, чтобы дать понять организаторам, что вы ожидаете, что этот случай больше ничего не сделает.