Вправа – упровадження умовного оператора
- 7 хвилин
Припустімо, вам потрібно швидко визначити, чи може покупка клієнта отримати акційну знижку. Відомості про підвищення вказують на те, що коли вартість покупки перевищує 1000 євро, покупка має право на знижку в розмірі 100 євро. Якщо сума покупки становить 1000 євро або менше, покупка має право на знижку 50 євро.
Хоча ви неодмінно можете використати конструкцію розгалуження if ... elseif ... else для вираження цього ділового правила, використання умовного оператора для оцінки права на акційну знижку може бути кращим вибором. Умовний оператор використовує компактний формат, який зберігає кілька рядків коду та, можливо, робить призначення коду зрозумілішим.
Що таке умовний оператор?
Умовний оператор?: обчислює логічний вираз і повертає один із двох результатів залежно від того, чи повертає логічний вираз значення true або false.
Умовний оператор зазвичай називають інтернарним умовним оператором.
Ось базова форма:
<evaluate this condition> ? <if condition is true, return this value> : <if condition is false, return this value>
Поміркуйте над тим, як застосувати умовного оператора до сценарію акційної знижки. Ваша мета – відобразити клієнту повідомлення зі відсотком знижки. Сума їх знижки буде заснована на тому, чи витратили вони більше 1000 євро на покупку.
Додавання коду, який використовує умовний оператор
Переконайтеся, що в коді Visual Studio відкрито пустий файл Program.cs. За потреби відкрийте Visual Studio Code і виконайте наведені нижче дії, щоб підготувати файл Program.cs в редакторі.
- У меню Файл виберіть Відкрити папку.
- Перейдіть до діалогового вікна Відкрити папку, а потім відкрийте папку CsharpProjects .
- На панелі Visual Studio Code EXPLORER виберіть Program.cs.
- У меню Вибір коду Visual Studio виберіть виділити все, а потім натисніть клавішу Delete.
Введіть наведений нижче код у редактор коду Visual Studio.
int saleAmount = 1001; int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {discount}");У меню Файл код Visual Studio Code виберіть Зберегти.
Перед створенням або запуском коду необхідно зберегти файл Program.cs.
На панелі EXPLORER, щоб відкрити термінал у розташуванні папки TestProject, клацніть правою кнопкою миші TestProject , а потім виберіть Відкрити в інтегрованому терміналі.
Панель терміналів, на якій відображається командний рядок, має бути відкрита. У командному рядку має відобразитися шлях до папки TestProject.
У командному рядку термінала, щоб запустити код, введіть dotnet виконати і натисніть клавішу Enter.
Коли ви запускаєте код, ви побачите такий результат:
Discount: 100
Використання умовного оператора в тексті
Ви можете ще більше стиснути цей код, видаливши тимчасову змінну discount.
Оновіть код у редакторі коду Visual Studio, як показано нижче.
int saleAmount = 1001; // int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {(saleAmount > 1000 ? 100 : 50)}");У меню Файл код Visual Studio Code виберіть Зберегти.
У командному рядку термінала, щоб запустити код, введіть dotnet виконати і натисніть клавішу Enter.
Зверніть увагу, що вивід однаковий.
Перевірте оновлену
Console.WriteLine()інструкцію за хвилину.Зверніть увагу, що потрібно обтікати всю інструкцію умовного оператора в дужках. Дужки гарантують, що середовище виконання розуміє вашу мету, тобто відображати умовний результат, а не результат обчислення умови (saleAmount > 1000).
Примітка
Хоча цей конкретний приклад компактний і показує, що можливо, його трохи важче прочитати. Не завжди варто поєднувати рядки коду, особливо якщо це негативно впливає на загальну зручність читання коду. Це часто суб'єктивний виклик судження.
Коротко
Слід пам'ятати такі факти про умовного оператора:
- За допомогою умовного оператора можна зменшити розмір коду, але переконайтеся, що отриманий код легко прочитати.
- Умовний оператор можна використовувати, коли потрібно повернути значення на основі двійкової умови. Код поверне перший параметр, коли умова повертає значення true, і він поверне другий параметр, коли умова обчислюється як хибний.
Перевірте свої знання
Зворотний зв’язок
Чи була ця сторінка корисна?
Ні
Потрібна допомога із цією темою?
Хочете скористатися Ask Learn, щоб отримати пояснення чи інструкції із цієї теми?