Оператори циклу IF, Switch, For, While у C# [Приклади]

⚡ Розумний підсумок

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

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

Умовні оператори C#

Керування потоком і умовні оператори

Керування потоком і умовні оператори доступні в будь-якій мові програмування, щоб змінити потік програми.

Наприклад, якщо хтось хоче виконати лише певний набір операторів на основі певної логіки, тоді керування потоком та умовні оператори будуть корисними.

Ви краще зрозумієте, коли ми проглянемо різні оператори, доступні в C#.

Зверніть увагу, що весь наведений нижче код створено у файлі Program.cs.

1) Оператор If

Оператор if використовується для обчислення логічного виразу перед виконанням набору операторів. Якщо вираз має значення true, то буде виконано один набір операторів, інакше буде виконано інший набір операторів.

У нашому прикладі нижче порівняння проводиться для змінної з назвою 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 має значення false, ми надсилаємо на консоль повідомлення «Значення більше 10».

Якщо наведений вище код введено належним чином і програма виконана успішно, буде показано наступний вихід.

вихід:

Якщо заява

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

2) Оператор Switch

Оператор switch є вдосконаленням оператора if. Якщо у вас є кілька виразів, які потрібно обчислити за один раз, то написання кількох операторів if стає проблемою.

Інструкція switch використовується для оцінки виразу та запуску різних операторів на основі результату виразу. Якщо одна умова не відповідає дійсності, оператор switch переходить до наступної умови і так далі.

Давайте подивимося, як це працює на прикладі нижче. Тут ми знову порівнюємо значення змінної під назвою «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 використовуються для встановлення різних умов. На основі умов можна виконати набір операторів. Оператор switch може мати кілька умов регістру. Перший оператор case перевіряє, чи дорівнює значення змінної 1.
  4. Якщо перший оператор case вірний, то на консоль записується повідомлення «Значення дорівнює 1».
  5. Оператор break використовується для виходу з усього оператора switch, коли умова виконується.
  6. Стандартна умова є особливою умовою. Це просто означає, що якщо жоден вираз регістру не має значення true, тоді виконується набір операторів для умови за замовчуванням.

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

вихід:

Заява переключення

3) Цикл while

Цикл 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. Два цілих числа змінні визначено, одне значення — значення, а інше — «i». Змінна значення використовується як верхня межа, до якої ми повинні повторювати наш оператор while. А «i» — це змінна, яка буде оброблена під час ітерації.
  2. У операторі while значення 'i' постійно перевіряється на верхню межу.
  3. Тут ми відображаємо значення «i» на консолі. Ми також збільшуємо значення «i».

Якщо наведений вище код введено належним чином і програма виконана успішно, буде показано наступний вихід.

вихід:

Поки петля

Тут ви можете побачити, що оператор while виконується 3 рази та одночасно збільшується. І кожного разу він показував поточне значення змінної 'i'.

4) Цикл For

Цикл «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'.

Поширені запитання

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

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

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

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

Тернарний оператор ?: — це компактна форма if-else. Він обчислює умову, повертає перше значення, коли умова істинна, і друге значення, коли вона хибна, створюючи стислий однорядковий оператор присвоєння.

Цикл foreach перебирає кожен елемент колекції, такої як масив або список, без потреби в індексі чи лічильнику. Він безпечно зчитує колекцію та запобігає поширеним помилкам відхилення на одиницю та виходу за межі діапазону.

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

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

Підсумуйте цей пост за допомогою: