Основы C#

Теория: Конструкция else if

В самой полной версии, конструкция if содержит не только ветку else, но и другие условные проверки с помощью else if. Такой вариант используется при большом количестве проверок, которые взаимоисключают друг друга.

if (/* что-то */)
{

}
else if (/* другая проверка */)
{

}
else if (/* другая проверка */)
{

}
else
{

}

Два момента. Ветка else может отсутствовать. Количество else if условий может быть любым, хоть одно, хоть десять.

Напишем для примера расширенный метод определяющий тип предложения. Он распознает три вида предложений:

class App
{
    public static string GetTypeOfSentence(string sentence)
    {
        var sentenceType = "";

        if (sentence.EndsWith('?'))
        {
            sentenceType = "question";
        }
        else if (sentence.EndsWith('!'))
        {
            sentenceType = "exclamation";
        }
        else
        {
            sentenceType = "general";
        }

        return "Sentence is " + sentenceType;
    }
}

App.GetTypeOfSentence("Who?"); // "Sentence is question"
App.GetTypeOfSentence("No");   // "Sentence is general"
App.GetTypeOfSentence("No!");  // "Sentence is exclamation"

Теперь все условия выстроены в единую конструкцию. else if — это «если не выполнено предыдущее условие, но выполнено текущее». Получается такая схема:

  • если последний символ ?, то "question"
  • иначе, если последний символ !, то "exclamation"
  • иначе "general"

Выполнится только один из блоков кода, относящихся ко всей конструкции if.

Рекомендуемые программы

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845