Menu
Coddy logo textTech

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

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

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

variable = (condition) ? value_if_true : value_if_false;

Тернарный оператор вычисляет условие. Если оно 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. Принимать целое число от пользователя.
  2. Использовать тернарный оператор, чтобы определить, является ли число положительным, отрицательным или нулем. Сохраните строку positive, negative или zero в переменную result.
  3. Вывести результат в формате: "The number is [positive/negative/zero]".

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

Шпаргалка

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

variable = (condition) ? value_if_true : value_if_false;

Он вычисляет условие и присваивает value_if_true, если условие равно true, в противном случае присваивает value_if_false.

Пример:

int age = 20;
string message = (age >= 18) ? "Adult" : "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.

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

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Проверьте себя

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

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