Почему я должен использовать выбор выхода?

Вот несколько вопросов, которые я собрал относительно выбора выхода...

  1. Есть ли какая-либо причина использования выбора выхода в VB.NET?
  2. Причина имеет какое-либо отношение к производительности?
  3. Выбор выхода, равный break;?

Пример 1

Select case Name
case "Mary"
'...
case "John"
'...
case else

end select

Пример 2

Select case Name
case "Mary"
'...
exit select

case "John"
'...
exit select

case else

end select
19
задан Peter Mortensen 16 September 2015 в 08:49
поделиться

2 ответа

Это не то же самое, что использование ключевого слова break с операторами switch из C-подобных языков. С переключателем , если вы опустите контроль прерывания, он перейдет к следующему случаю. С Visual Basic Выберите , управление не пропадет; 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

Любая разница в производительности между этими двумя образцами почти наверняка несущественна по сравнению с другими факторами.

Еще один вариант использования - если у вас много случаев, и один из ящиков расположен так, что совпадение означает, что вы хотите прекратить проверку всех остальных. Это уже происходит, и поэтому у вас может быть просто пустой оператор case. Но вы также можете добавить Exit Select, чтобы дать понять сопровождающим, что вы ожидаете, что в этом случае больше ничего не будет.

37
ответ дан 30 November 2019 в 03:12
поделиться

Согласно java.io.File Документация Java

Временный -file каталог определяется системным свойством java.io.tmpdir. В системах UNIX значение этого свойства по умолчанию обычно равно «/ tmp» или «/ var / tmp»; в системах Microsoft Windows это обычно «c: \ temp». В C # вам нужно выйти из кейса (в данном случае с перерывом).

Дело в том, что вы можете использовать его в середине кейса, примерно так:

Case 1
   Do something
   Do something
   Evaluate
      exit select
   Else
      Do something

Это некрасиво, но вы может это сделать ...

5
ответ дан 30 November 2019 в 03:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: