Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Tip
Эта статья является частью раздела "Основы" для разработчиков , которые уже знают хотя бы один язык программирования и учат C#. Если вы не знакомы с программированием, сначала начните с учебных пособий по началу работы. Полный синтаксис инструкций см. в инструкциях спецификации языка C#.
Вы пришли из другого языка? Объявления, условные конструкции, циклы и операторы return могут быть вам знакомы. В C# используется собственный синтаксис и классификация этих функций, в которой представлена эта статья.
Инструкция — это завершённая команда: «сделай это». Вместе инструкции программы образуют рецепт, которому программа следует от начала до конца. Большинство операторов выполняются в последовательности. Ветви выбирают шаги, которые нужно выполнить, и циклы повторяются.
В этом примере объявляется количество, затем оно выводится, а после этого используется оператор if, чтобы определить, нужно ли пополнить запасы:
int quantity = 5;
Console.WriteLine($"Quantity: {quantity}"); // => Quantity: 5
if (quantity < 10)
{
quantity = 10;
Console.WriteLine("Restocked"); // => Restocked
}
Console.WriteLine($"Quantity: {quantity}"); // => Quantity: 10
Сначала прочитайте пример целиком, как команду, прежде чем рассматривать его части. Объявление, первый вызов Console.WriteLine, вся конструкция if и последний вызов Console.WriteLine являются инструкциями. Блок внутри инструкции if содержит еще две инструкции.
Инструкции часто содержат выражения
Операторы часто содержат выражения, которые представляют собой фрагменты кода, которые создают значения. В предыдущем примере вся конструкция if представляет собой инструкцию. Его условие, quantity < 10, является выражением, которое возвращает либо true, либо false.
Инструкция объявления объявляет локальную переменную или константу. Выражение инициализатора может предоставить свое первое значение:
int quantity = 5;
Полная строка — это инструкция объявления. Инициализатор 5 — это выражение в этой инструкции.
Выражение назначения хранит значение в переменной, свойстве, индексаторе или другом расположении хранилища. C# допускает, чтобы выражение присваивания служило инструкцией-выражением:
quantity = 10;
Эта инструкция выполняет действие, а не просто вычисляет значение. Вызовы методов и операции инкремента — это ещё два распространённых вида инструкций-выражений:
Console.WriteLine("Restocking");
quantity++;
Только следующие формы выражений могут использоваться как операторы выражений:
- Выражения назначения
- Выражения вызова методов
- Выражения создания объектов
- Выражения с префиксным или постфиксным инкрементом и декрементом
-
awaitВыражения
Не каждое выражение может использоваться как самостоятельная инструкция. Например, quantity + 1; вычисляет значение, но не использует его. Это некорректное утверждение.
Вот полезное рабочее определение: оператор примерно соответствует полному предложению в английском языке, в то время как выражение похоже на фразу. Это различие помогает понять официальную терминологию и объяснения, которые вы столкнетесь в документации и спецификациях, хотя обычное кодирование редко требует, чтобы вы помните различие сознательно.
Групповые инструкции в блоках
Блоки группируют ноль или больше операторов между фигурными скобками ({и}). C# обрабатывает группу как одну инструкцию. В первом примере инструкция Console.WriteLine может включать как присваивание, так и вызов if, поскольку блок объединяет их в одно тело. Блоки могут быть вложены в другие блоки.
Операторы выбора и итерации называют свое тело вложенным оператором. Этот текст может быть одним оператором без фигурных скобок или блоком, который группирует несколько операторов.
Предпочитайте блок, даже если текст содержит только одну инструкцию. Фигурные скобки показывают, какие инструкции принадлежат тексту и не позволяют позже изменять случайное размещение инструкции за ее пределами.
Блоки определяют область переменной
Переменные, объявленные в блоке, находятся в области видимости с момента их объявления и до конца этого блока. Вложенный блок может использовать переменные, объявленные во внешнем блоке, но внешний блок не может использовать переменные, объявленные только во вложенном блоке:
int outerValue = 10;
if (outerValue > 0)
{
int innerValue = outerValue * 2;
Console.WriteLine(innerValue); // => 20
}
// innerValue isn't in scope here.
Выберите утверждение для задачи
После распознавания операторов как команд можно выбрать один из различных типов по назначению:
- Объявление данных:Инструкции объявления вводят локальные переменные и константы.
- Выполнение действий: Инструкции-выражения присваивают значения, вызывают методы, создают объекты, увеличивают или уменьшают значения либо ожидают завершения асинхронных операций.
-
Выберите инструкции:Selection, например
ifиswitchвыберите, какой код выполняется. -
Повторяющиеся шаги:Операторы итерации, такие как
foreach,whileиfor, повторяют инструкцию или блок инструкций. -
Передача управления:Операторы перехода, такие как
break,continue,returnиyield, передают управление в другую точку программы. -
Обработка исключений:Инструкции обработки исключений, такие как
try,catchиthrow, реагируют на ошибки или сообщают о них. -
Управление ресурсами:Инструкция
usingгарантирует, что ресурсы удалены. -
Используйте специализированное поведение: Операторы
checkedиunchecked,fixedиlockподдерживают определенные сценарии.
Спецификация языка C#
Дополнительные сведения см. в разделе "Инструкции " спецификации языка C#.