Книга: C# для профессионалов. Том II

switch 

switch 

Инструкция switch служит для тех же целей в C#, что и в C++. Она является, однако, более мощной в C#, так как используется строка в качестве проверяемой переменной, что невозможно в C++:

string MyString; // инициализировать MyString
switch (MyString) {
case "Hello":
 // что-нибудь сделать
 break;
case "Goodbye":
 // и т.д.

Синтаксис в C# слегка отличается тем, что каждое предложение case должно явно заканчиваться. Не разрешается одному case содержать другой case, если только первый case не является пустым. Если желательно получить такой результат, используйте инструкцию goto.

switch (MyString) {
case "Hello":
 // что-нибудь сделать
 goto case "Goodbye"; // перейдет к выполнению инструкций
                      // в предложении "Goodbye"
case "Goodbye":
 // сделать что-то еще
 break;
case "Black": // здесь можно провалиться, так как он пустой
case "White":
 // сделать что-то еще
 // выполняется, если MyString содержит
 // либо "Black", либо "White"
 break;
default:
 int j = 3;
 break;
}

Компания Microsoft решила использовать инструкцию goto в этом контексте, чтобы предотвратить появление ошибок в случае, если требовалось выполнить пропущенный break, и код в инструкции switch проваливался в следующее предложение case.

Оглавление книги

Оглавление статьи/книги

Генерация: 3.139. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз