Когда вы имеете сложный набор условий, то использование вложенных инструкций if…else приводит к громоздкому коду. Лучше воспользоваться инструкцией switch. Инструкция switch выбирает нужное действие из списка возможных, размещенных во фразах выбора case.
Синтаксис инструкции
switch (Условие)
{
case константа_1 : инструкция действия; инструкция прерывания;
case константа_2 : инструкция действия; инструкция прерывания;
……..
default:: инструкция;
}
Условие (помещено в круглые скобки) возвращает константу Далее следует блок из секций.
Секция выбора — case. Она нужна для определения действия, которое будет выполняться при совпадении значения Условия с константой в секции case. В этой секции после двоеточия (:) следуют инструкции действий (хотя бы одна), а также инструкция прерывания действия (она обязательна, иначе будет сквозное выполнение секций выбора).
Секция действия по умолчанию — default. Она может отсутствовать. Она выполняется в том случае, если со значением константы Условие не совпала ни одна константа из секции выбора.
Если результат Условия совпадет с константным значением секции case, то будет выполняться соответствующий ему блок инструкций. В качестве инструкции прерывания действия используют break, которая прерывает выполнение инструкции switch. Альтернативой может быть и инструкции goto, которую обычно применяют для перехода в другое место программы.
Пример. Программа запрашивает номер пользователя. В зависимости от введенного номера выводится строка из списка.
using System;
namespace SwitchStatement
{
class MyClass
{
static void Main(string[] args)
{
int user = 1;
Console.Write("Ваш номер = ");
user = Convert.ToInt32(Console.ReadLine());
switch (user)
{
case 1: Console.WriteLine("Здравствуйте Userl"); break;
case 2: Console.WriteLine("Здравствуйте User2"); break;
case 3: Console.WriteLine("Здравствуйте User3"); break;
Циклом называется группа инструкций, повторяющихся многократно с разными данными. Выбор типа цикла зависит от задачи программирования и личных предпочтений кодирования. Для циклов применяются инструкции: goto, for, while, do while
Одним из основных отличий C# от других языков, таких как C++, является цикл foreach, разработанный для упрощения итерации по массиву или коллекции.