Примеры операторов IF, Switch, For, While в C#

⚡ Умное резюме

Условные операторы и циклы в C# управляют потоком выполнения программы, запуская или повторяя блоки кода в зависимости от логики. Операторы if, switch, while и for позволяют программе принимать решения и эффективно выполнять итерации.

  • 🔀 Управление потоком: Условные операторы изменяют порядок выполнения, так что программа выполняет только те операторы, которые соответствуют её логике.
  • Условное выражение: Оператор if оценивает логическое выражение и выполняет один блок кода, когда оно истинно, и другой, когда оно ложно.
  • 🔢 Оператор switch: Оператор switch сравнивает одно значение с несколькими метками case и использует оператор break для остановки после обнаружения совпадения.
  • 🔁 Пока цикл: Цикл while повторяет блок операторов до тех пор, пока его условие остается истинным, что подходит для неизвестного количества итераций.
  • 🔄 Для цикла: Цикл for инициализирует, проверяет и увеличивает счетчик в одной строке, что идеально подходит, когда известно количество повторений.
  • 🤖 Помощь ИИ: GitHub Copilot использует логику if, switch и циклов, а ML.NET повторно применяет те же условия для разветвления конвейеров машинного обучения.

Условные операторы C#

Управление потоком и условные операторы

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

Например, если кто-то хочет выполнить только определенный набор операторов на основе определенной логики, то управление потоком выполнения и условные операторы окажутся полезными.

Вы получите лучшее понимание, когда мы рассмотрим различные операторы, доступные в C#.

Обратите внимание, что весь приведенный ниже код записан в файле Program.cs.

1) Если заявление

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

В приведенном ниже примере выполняется сравнение с переменной с именем value. Если значение переменной меньше 10, то будет выполнено одно выражение, в противном случае — другое.

Если заявление

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 value = 11;
   
   if(value<10)
   {
    Console.WriteLine("Value is less than 10");
   }
   else
   {
    Console.WriteLine("Value is greater than 10");
   }
    Console.ReadKey();
  }
 }
}

Code Объяснение:-

  1. Сначала мы определяем переменную с именем value и присваиваем ей значение 11.
  2. Затем мы используем оператор if, чтобы проверить, меньше ли значение переменной 10. Результат будет либо истинным, либо ложным.
  3. Если условие if оценивается как истинное, мы отправляем на консоль сообщение «Значение меньше 10».
  4. Если условие if оценивается как ложное, мы отправляем на консоль сообщение «Значение больше 10».

Если приведенный выше код введен правильно и программа выполнена успешно, будет отображен следующий вывод.

Выход:

Если заявление

Мы ясно видим, что утверждение «если» было оценено как ложное. Следовательно, на консоль было отправлено сообщение «Значение больше 10».

2) Оператор переключения

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

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

Давайте посмотрим, как это работает на примере ниже. Здесь мы снова сравниваем значение переменной с именем 'value'. Затем мы проверяем, равно ли это значение 1, 2 или чему-то совершенно другому.

Смена оператора

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=11;
   switch(value) 
   {
     case 1: Console.WriteLine("Value is 1");	
     break;
     case 2: Console.WriteLine("Value is 2");
     break;
     default: Console.WriteLine("value is different");
     break;
   }
  }
 }
}

Code Объяснение:-

  1. Сначала мы определяем переменную с именем «value» и присваиваем ей значение 11.
  2. Затем мы используем оператор «switch», чтобы проверить значение переменной «value».
  3. Операторы Case используются для установки различных условий. В зависимости от условий может быть выполнен набор операторов. Оператор переключения может иметь несколько условий случая. Первый оператор case проверяет, равно ли значение переменной 1.
  4. Если первый оператор случая верен, то в консоль выводится сообщение «Значение равно 1».
  5. Оператор Break используется для выхода из всего оператора переключателя, если условие истинно.
  6. Условие по умолчанию является особым условием. Это просто означает, что если ни одно выражение case не имеет значения true, запустите набор операторов для условия по умолчанию.

Если приведенный выше код введен правильно и программа выполнена успешно, будет отображен следующий вывод. В выводе выводится значение по умолчанию «Значение отличается», поскольку ни одно условие не выполняется.

Выход:

Смена оператора

3) Пока цикл

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

В нашем примере ниже мы используем оператор while для отображения значения переменной «i». Оператор while используется для отображения значения 3 раза.

Пока цикл

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=3,i=0;
   
   while(i<value)
   {
    Console.WriteLine(i);
    i=i+1;
   }
    Console.ReadKey(); 
  }
 }
}

Code Объяснение:-

  1. Два целых числа переменные определены, одно из которых — значение, а другое — «я». Переменная value используется в качестве верхнего предела, до которого мы должны выполнять итерацию нашего оператора while. А «i» — это переменная, которая будет обрабатываться во время итерации.
  2. В операторе while значение «i» постоянно сверяется с верхним пределом.
  3. Здесь мы отображаем значение «i» на консоли. Мы также увеличиваем значение «i».

Если приведенный выше код введен правильно и программа выполнена успешно, будет отображен следующий вывод.

Выход:

Пока цикл

Здесь вы можете видеть, что оператор while выполняется 3 раза и увеличивается одновременно. И каждый раз отображалось текущее значение переменной «i».

4) Для цикла

Цикл 'for' также используется для итеративных операций. Например, если вы хотите повторить определенный набор операторов определенное количество раз, то используется цикл 'for'.

В нашем примере ниже мы используем оператор for для отображения значения переменной «i». Оператор for используется для отображения значения 3 раза.

Для цикла

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   for(Int32 i=0;i<3;i++)
   {
    Console.WriteLine(i);
   }
    Console.ReadKey(); 
  
  }
 }
}

Code Объяснение:-

  1. Ключевое слово for используется для запуска оператора цикла for.
  2. В цикле for мы определяем 3 вещи. Первый — инициализировать значение переменной, которая будет использоваться в цикле for.
  3. Второй — сравнить значение «i» с верхним пределом. В нашем случае верхним пределом является значение 3 (i<3).
  4. Наконец, мы соответственно увеличиваем значение «i».
  5. Здесь мы отображаем значение «i» на консоли.

Если приведенный выше код введен правильно и программа выполнена успешно, будет отображен следующий вывод.

Выход:

Для цикла

Здесь вы можете видеть, что оператор for выполняется 3 раза. И каждый раз отображалось текущее значение переменной «i».

Часто задаваемые вопросы (FAQ)

Оператор if обрабатывает диапазоны и сложные логические условия, в то время как оператор switch сравнивает одно значение с несколькими фиксированными значениями. Оператор switch более удобен для работы со многими дискретными значениями, тогда как if-else подходит для диапазонов, нескольких переменных и логических операторов.

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

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

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

Тернарный оператор ?: — это компактная форма оператора if-else. Он оценивает условие, возвращает первое значение, когда условие истинно, и второе значение, когда оно ложно, создавая лаконичное присваивание в одну строку.

Цикл foreach перебирает каждый элемент коллекции, такой как массив или список, без необходимости использования индекса или счетчика. Он безопасно считывает коллекцию и предотвращает распространенные ошибки смещения на единицу и выхода за пределы диапазона.

Да. GitHub Copilot предлагает использовать блоки if, switch, while и for из комментария или имени метода в Visual Studio. VS Code. RevПросмотрите каждое предложение для корректных условий и границ цикла, поскольку Copilot может вносить ошибки, смещенные на единицу.

Конвейеры ML.NET используют условные операторы C# для ветвления по значениям признаков и циклы для итерации по строкам обучающей выборки. Та же логика if, switch и for подготавливает данные и направляет прогнозы, обеспечивая...ping Строго типизированный рабочий процесс машинного обучения.

Подведем итог этой публикации следующим образом: