Поиск

Несколько конструкций else

Конструкция else оператора //позволяет определить действия, которые нужно выполнить, если результатом вычисления выражения в if будет false. В предыдущем примере приложение производит простое сравнение введенного пользователем числа со случайным. В этом случае существуют всего две возможности: пользователь мог ввести правильное или неправильное число. Но г/и else можно также применять в случаях, когда нужно проверить более двух условий. В приведенном ниже примере я спрашиваю пользователя, каким языком он сейчас пользуется (кроме С#). При этом я включил возможность выбора трех языков, так что if должен иметь дело с четырьмя возможными ответами: тремя конкретными языками и ситуацией, когда пользователь выбрал неизвестный язык. Вот один из способов запрограммировать это с помощью if/else:

using System;
class IfTest2App <
const string CPlusPlus = "C++";
const string VisualBasic = "Visual Basic";
const string Java = "Java";
public static void Main() {
Console.Write("Ha каком языке вы сейчас программируете " + "(кроме С#)?");
string inputString = Console.ReadLineO;
if (0 == String.Compare(inputString, CPlusPlus, true)) {
Console.WriteLine("\nEwin выберите С#, у вас не будет " +
"проблем !"); }
else if (0 == String.Compare(inputString, VisualBasic, true)) {
Console.WriteLine("\nB C# вы обнаружите много " +
"прекрасных возможностей VB !");
}
else if (0 == String.Compare(inputString, Java, true))
{
Console.WriteLine("\n8bi6paB C#, вы облегчите себе " + "жизнь <G> !!");
} else
{
Console.WriteLine("\nM3BHHMTe, это вычислить не можем.");
} } }

Для'сравнения возвращенного методом String.Compare значения с О применяется оператор ==. Это делается потому что String.Compare возвращает —1, если первая строка меньше второй, 1 — если больше, и О, если они совпадают. Между тем здесь есть интересные детали, связанные с тем, как С# выполняет оператор if.