Speak.Me Учить иностранные слова

C#: инструкции (Statements)

Функции состоят из инструкций, которые исполняются последовательно в порядке следования в исходном коде. Блок инструкций (statement block) набор инструкций, заключенных в фигурные скобки { }.

Декларативные инструкции (Declaration Statements)

Декларативные инструкции объявляют новые переменные, а также могут присваивать им значение (инициализировать) какого-либо выражения. Декларативные инструкции завершаются точкой с запятой. В одной декларативной инструкции можно объявить несколько переменных одного и того же типа, разделив их запятыми.

Объявление констант происходит также как объявление переменных, за исключением того, что при объявлении константе обязательно должно быть присвоено значение, и это значение потом не может быть изменено.

Область видимости локальных переменных (и локальных констант) ограничивается блоком, в котором они объявлены. В пределах одного блока и вложенных в него блоков нельзя объявить несколько переменных с одинаковыми именами.

Инструкции выражения (Expression Statements)

Инструкции выражения — это выражения, являющиеся валидными инструкциями, т.е. выражения, которые делают что-либо:

  • присваивают или изменяют значение переменной
  • создают экземпляр объекта
  • вызывают метод

Остальные выражения считаются невалидными инструкциями:

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

Инструкции выбора (Selection Statements)

Инструкции выбора изменяю поток выполнения программы в зависимости от определенных условий.

Инструкция if

Инструкция if выполняет другую инструкцию или блок инструкций если логическое выражение возвращает true:

Инструкция if может дополняться оговоркой else, выполняемой если логическое выражение вернет false:

Внутри оговорки else может быть вложена еще одна инструкция if:

Оговорка else всегда относится к первой предшествующей ей инструкции if. Например, два следующих примера полностью идентичны:

Однако это порядок можно изменить с помощью фигурных скобок:

В C# нет ключевого слова elseif, но оно успешно заменяется сочетанием else if:

Инструкция switch

Инструкция switch позволяет выбрать вариант выполнения программы основываясь на выборе одного из возможных значений переменной. Инструкция switch более производительна, чем несколько инструкций if, поскольку в ней выражение, на основании которого осуществляется выбор, вычисляется один раз.

В инструкции switch может использоваться выражение, возвращающее только типы string, предопределенные целочисленные типы, тип enum и их nullable варианты.

В конце каждого case варианта необходимо явно указать, куда должно идти выполнение программы дальше. Для этого может быть использована одна из инструкций перехода (jump statement):

  • break — переходит в конец инструкции switch
  • goto case x — переход к другому варианту case
  • goto default — переход к варианту default
  • любая друга инструкция перехода, например, return, throwcontinue или goto label

Если один и тот же код должен быть выполнен в нескольких вариантах case, их можно перечислить подряд:

Эта особенность инструкции switch также делает ее более удобной в использовании чем несколько инструкций if-else.

Инструкции повторения (Iteration Statements)

К инструкциям повторения относятся инструкции while, do-while, for, и foreach.

Циклы while и do-while

Цикл while повторяет блок инструкций пока логическое выражение верно (true). Выражение вычисляется до выполнения блока инструкций.

Цикл do-while отличается от цикла while только тем, что логическое выражение вычисляется после выполнения блока инструкций (тем самым обеспечивая хотя бы одно выполнение блока).

Цикл for

Цикл for похож на цикл while, но при этом он содержит ряд специальных условий для инициализации и интерации (повтора) переменной цикла (переменная, управляющая циклом). Точнее цикл for содержит три таких условия:

Инициализация (init-clause) выполняется до цикла и обычно инициализирует одну или несколько переменных цикла. Условие (condition-clause) — логическое выражение, которое вычисляется перед каждым повтором (интерацией) цикла. Тело цикла выполняется до тех пор, пока это выражение истинно (true). Повтор или интерация (iteration-clause) выполняется после каждого повтора (интерации) цикла. В нем переменная цикла как правило обновляется.

Каждое из трех условий может быть опущено:

Цикл foreach

Инструкция foreach повторяет каждый элемент перечисляемого объекта. Большинство типов в C#, представляющих набор элементов, являются перечисляемыми (например, массив и строка).

Инструкции перехода

К инструкция перехода относятся break, continue, goto, return, и throw.

Инструкция break прекращает выполнение цикла или инструкции switch

Инструкция continue прекращает выполнение очередного повтора (интерации) в цикле и переходит к следующему.
Инструкция goto переносит выполнение к указанной метке в пределах блока инструкций:
Инструкция return выходит из метода и возвращает значение определенного типа (если метод возвращает значение). Инструкция return может использоваться в любом месте метода.