Обучение
Схема обучения
Добавление логики в консольные приложения C# (начало работы с C#, часть 3) - Training
Развивайте свои навыки работы с логикой C# и операторами итерации, логическими выражениями и блоками кода в этой схеме обучения.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
if
— руководство по условной логикеВ этом руководстве описано, как писать код C#, который проверяет переменные и изменяет путь выполнения на основе этих переменных. Вы пишете код C# и видите результаты компиляции и выполнения кода. В этом руководстве содержится ряд уроков, в котором рассматриваются конструкции ветвления и циклирования в C#. Эти уроки учат вас основам языка C#.
Совет
Если блок фрагмента кода включает кнопку "Выполнить", эта кнопка открывает интерактивное окно или заменяет существующий код в интерактивном окне. Если фрагмент не содержит кнопку "Выполнить", можно скопировать код и добавить его в текущее интерактивное окно.
Выполните следующий код в интерактивном окне. Выберите Выполнить:
int a = 5;
int b = 6;
if (a + b > 10)
Console.WriteLine("The answer is greater than 10.");
Измените объявление b
таким образом, чтобы сумма была меньше 10:
int b = 3;
Снова нажмите кнопку "Выполнить ". Так как ответ меньше 10, ничего не печатается. Условие, которое вы тестируете, ложно. У вас нет кода для выполнения, потому что вы написали только одну из возможных ветвей для оператора if
: истинную ветвь.
Совет
При изучении C# (или любого языка программирования) при написании кода возникают ошибки. Компилятор находит эти ошибки и сообщает вам. Если выходные данные содержат сообщения об ошибках, внимательно изучите пример кода и код в интерактивном окне, чтобы узнать, что нужно исправить. Это упражнение поможет вам узнать структуру кода C#.
В этом первом примере показаны возможности if
и логических типов.
Логическое значение — это переменная, которая может иметь одно из двух значений: true
или false
. C# определяет специальный тип bool
для логических переменных. Инструкция if
проверяет значение bool
. Если значение равно true
, выполняется инструкция, следующая за if
. В противном случае это будет пропущено.
Этот процесс проверки условий и выполнения инструкций на основе этих условий является мощным. Давайте исследуем больше.
Чтобы выполнить другой код в истинных и ложных ветвях, создайте else
ветвь, которая выполняется при условии false. Попробуйте выполнить следующий код:
int a = 5;
int b = 3;
if (a + b > 10)
Console.WriteLine("The answer is greater than 10");
else
Console.WriteLine("The answer is not greater than 10");
Инструкция, следующая за ключевым словом else
, выполняется только в том случае, если тестируемое false
условие. Объединение if
и else
с логическими условиями обеспечивает всю необходимую мощь.
Важно!
Отступ под инструкциями if
и else
предназначен для человеческого восприятия. Язык C# не обрабатывает отступы или пробелы как значительные. Инструкция, следующая за ключевым словом if
, else
выполняется на основе условия. Все примеры в этом руководстве следуют обычной практике отступов строк в зависимости от потока выполнения операторов.
Так как отступ не является значительным, необходимо использовать {
и }
, чтобы указать, когда требуется, чтобы несколько операторов были частью блока условного выполнения. Программисты C# обычно используют эти фигурные скобки для всех if
предложений и else
предложений. Следующий пример совпадает с тем, что вы создали. Попробуйте.
int a = 5;
int b = 3;
if (a + b > 10)
{
Console.WriteLine("The answer is greater than 10");
}
else
{
Console.WriteLine("The answer is not greater than 10");
}
Совет
В остальной части этого руководства все примеры кода включают фигурные скобки, следуя общепринятым практикам.
Вы можете протестировать более сложные условия:
int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a == b))
{
Console.WriteLine("The answer is greater than 10");
Console.WriteLine("And the first number is equal to the second");
}
else
{
Console.WriteLine("The answer is not greater than 10");
Console.WriteLine("Or the first number is not equal to the second");
}
Символ ==
проверяет равенство. Использование ==
отличает проверку на равенство от присваивания, которое вы видели ранее в a = 5
.
Элемент &&
представляет «и». Это означает, что оба условия должны быть true для выполнения инструкции в истинной ветви. В этих примерах также показано, что в каждой условной ветви может быть несколько операторов, при условии, что они заключены в {
и }
.
Можно также использовать ||
для представления "или".
if ((a + b + c > 10) || (a == b))
Измените значения a
, b
, и c
, и переключитесь между &&
и ||
, чтобы исследовать. Вы получите больше понимания того, как операторы &&
и ||
работают.
Еще одна важная концепция создания больших программ — циклы. Циклы используются для повторения инструкций, которые требуется выполнить несколько раз. Попробуйте использовать этот код в интерактивном окне:
int counter = 0;
while (counter < 10)
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
}
Оператор while
проверяет условие и выполняет оператор, следующий за while
. Он повторяет проверку условия и выполняет эти инструкции до тех пор, пока условие не станет ложным.
В этом примере есть еще один новый оператор. После ++
переменной counter
идет оператор инкремента. Он добавляет 1 к значению счетчика и сохраняет это значение в переменной счетчика.
Важно!
Убедитесь, что while
условие цикла переключается на false в процессе выполнения кода. В противном случае создается бесконечный цикл , в котором программа никогда не заканчивается. Давайте не будем показывать это, потому что движок, который выполняет ваш код, превышает время ожидания, и вы не видите результатов работы вашей программы.
Цикл while
проверяет условие перед выполнением кода после while
. Цикл do
... while
сначала выполняет код, а затем проверяет условие. Выглядит следующим образом:
int counter = 0;
do
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
} while (counter < 10);
Этот do
цикл и более ранний while
цикл работают одинаково.
Давайте перейдем к одному последнему оператору цикла.
Еще одна распространенная инструкция цикла в коде C# — это цикл for
. Попробуйте использовать этот код в интерактивном окне:
for (int counter = 0; counter < 10; counter++)
{
Console.WriteLine($"Hello World! The counter is {counter}");
}
Предыдущий for
цикл выполняет ту же работу, что и while
цикл и do
цикл, которые вы уже использовали. В for
инструкции есть три части, которые управляют тем, как она работает:
int counter = 0;
объявляет, что counter
— это переменная цикла и задает для нее начальное значение 0
.counter < 10
объявляет, что этот for
цикл продолжает выполняться до тех пор, пока значение счетчика меньше 10.counter++
указывает, как изменить переменную цикла после выполнения блока, следующего for
за инструкцией. Здесь указывается, что counter
увеличивается на 1 при каждом выполнении блока.Поэкспериментируйте с этими условиями самостоятельно. Попробуйте выполнить каждое из следующих изменений:
Когда вы закончите, давайте перейдем к написанию кода самостоятельно, чтобы использовать то, что вы узнали.
Существует еще один оператор цикла, который не рассматривается в этом руководстве: оператор foreach
. Оператор foreach
повторяет свою инструкцию для каждого элемента в последовательности элементов. Чаще всего это используется с коллекциями. Это описано в следующем руководстве.
Цикл while
, do
или for
может быть вложен в другой цикл, чтобы создать матрицу, сочетая каждый элемент внешнего цикла с каждым элементом внутреннего цикла. Давайте создадим набор буквенно-цифровых пар для представления строк и столбцов.
Один for
цикл может создать строки:
for (int row = 1; row < 11; row++)
{
Console.WriteLine($"The row is {row}");
}
Другой цикл может создать столбцы:
for (char column = 'a'; column < 'k'; column++)
{
Console.WriteLine($"The column is {column}");
}
Вы можете вложить один цикл внутри другого, чтобы сформировать пары:
for (int row = 1; row < 11; row++)
{
for (char column = 'a'; column < 'k'; column++)
{
Console.WriteLine($"The cell is ({row}, {column})");
}
}
Вы увидите, что внешний цикл увеличивается один раз для каждого полного выполнения внутреннего цикла. Поменяйте местами вложенные строки и столбцы и посмотрите изменения.
Теперь, когда вы видели инструкцию if
и циклические конструкции в языке C#, попробуйте написать код на C# для нахождения суммы всех целых чисел от 1 до 20, делящихся на 3. Ниже приведены несколько подсказок:
%
дает остаток от операции деления.if
определяет условие для проверки, должно ли число быть включено в сумму.for
может помочь повторить ряд шагов для всех чисел 1–20.Попробуйте самостоятельно. Затем проверьте, как вы сделали. В качестве подсказки, правильный ответ должен быть 63.
Ты придумала что-то вроде этого?
Вы завершили интерактивное руководство по "ветвям и циклам". Вы можете выбрать ссылку коллекции списков , чтобы начать следующий интерактивный учебник, или посетить сайт .NET, чтобы скачать пакет SDK для .NET , создать проект на компьютере и сохранить код. В разделе "Дальнейшие шаги" вы возвращаетесь к данным руководствам.
Дополнительные сведения об этих понятиях см. в следующих статьях:
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Обучение
Схема обучения
Добавление логики в консольные приложения C# (начало работы с C#, часть 3) - Training
Развивайте свои навыки работы с логикой C# и операторами итерации, логическими выражениями и блоками кода в этой схеме обучения.