В С#, кроме циклов есть две конструкции — операторы принятия решений (if/else и switch). Рассмотрим их подробнее:
if/else
Конструкция if/else проверяет истинность некоторого условия и в зависимости от результатов проверки выполняет определенный код.
В C# оператор может работать только с булевскими выражениями, но не с произвольными значениями вроде -1 и 0. Учитывая этот факт, в операторе if/else можно использовать следующие операции сравнения:
- == — возвращает true, если выражения одинаковые, например, if(page == 5);
- != — возвращает true, если выражения не равны: if(page !=5);
- <(<=) - возвращает true, если выражение слева меньше или равно, чем выражение справа: if(price > 100);
- >(>=) — возвращает true, если выражение слева больше или равно, чем выражение справа, if(price > 200).
Синтаксис оператора:
if (условие)
оператор (операторы)
else
оператор (операторы)
Пример работы оператора:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
private static int page = 3; //объявляем переменную page и присваиваем значение
static void Main(string[] args)
{
if (page == 1) // если переменная равна 1, тогда будет выполнен эта часть кода
{
Console.WriteLine("Первая страница");
}
else // иначе будет выполнена данная часть
{
Console.WriteLine("Страница: {0}", page);
}
Console.ReadKey();
}
}
}
switch
Вторым оператором выбора в C# является оператор switch, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы.
Этот оператор действует следующим образом. Значение выражения последовательно сравнивается с константами выбора из заданного списка. Как только будет обнаружено совпадение с одним из условий выбора, выполняется последовательность операторов, связанных с этим условием. Ниже приведена общая форма оператора switch:
switch(выражение) {
case константа1:
последовательность операторов
break;
case константа2:
последовательность операторов
break;
case константаЗ:
последовательность операторов
break;
...
default:
последовательность операторов
break;
}
У оператора switch в C# есть одна особенность: помимо числовых данных он также позволяет производить вычисления и со строковыми данными. Рассмотрим пример:
Console.Write("Введите название ОС: ");
string OS = Console.ReadLine();
switch (OS)
{
case "Windows": Console.WriteLine("Хороший выбор!");
break;
case "MacOS": Console.WriteLine("Отличный выбор!");
break;
case "Linux": Console.WriteLine("OpenSource!");
break;
default: Console.WriteLine("Я не знаю такую систему!!");
break;
}
Console.ReadKey();
Здесь всё очень просто! Запустив данный код и написав в консоле название любой ОС оператор выдаст ответ по заданным условиям. Рекомендую самостоятельно потренироваться с операторами для лучшего понимания этой темы.