Menu
Coddy logo textTech

Тернарный оператор

Часть раздела Основы путешествия по C# на Coddy. Урок 28 из 69.

Тернарный оператор — это простая однострочная конструкция if-else. Он имеет следующий синтаксис:

variable = (condition) ? value_if_true : value_if_false;

Тернарный оператор вычисляет condition. Если это true, он присваивает value_if_true переменной; в противном случае он присваивает value_if_false.

Например:

int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";

В этом примере, поскольку age больше или равно 18, переменной message будет присвоено значение "Adult". Если бы age было меньше 18, переменной message было бы присвоено значение "Minor".

Вы можете вкладывать тернарные операторы, чтобы обрабатывать несколько условий:

int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";

Это проверяет несколько условий по порядку. Если score >= 90, grade равно "A"; иначе, если score >= 80, grade равно "B"; иначе, если score >= 70, grade равно "C"; в противном случае — "F".

Примечание: Вложенные тернарные операторы может быть трудно читать. Для сложных условий вместо них используйте операторы if-else.

challenge icon

Задание

Новичок

Создай программу, которая проверяет, является ли число положительным, отрицательным или равным нулю, используя тернарный оператор. Программа должна:

  1. Получить целочисленное значение от пользователя. Строка, считывающая number, уже написана за тебя.
  2. Использовать тернарный оператор, чтобы определить, является ли число положительным, отрицательным или равным нулю. Сохранить строку positive, negative или zero в result.
  3. Вывести результат в формате: "The number is [positive/negative/zero]".

Для решения этой задачи можно использовать вложенный тернарный оператор.

Попробуйте сами

using System;

public class Program {
    public static void Main(string[] args) {
        int number = int.Parse(Console.ReadLine());
        string result = "";
        
        // Напишите свой код ниже
        
        
        Console.WriteLine("The number is " + result);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор C#