Elementor Header #8

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

52. Тернарный оператор в C#

1. Введение

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


2. Синтаксис

				
					условие ? выражение_если_true : выражение_если_false;

				
			
  • Если условие истинно (true), выполняется выражение_если_true.
  • Если условие ложно (false), выполняется выражение_если_false.

3. Примеры использования

Пример 1: Определение наибольшего числа

				
					int a = 10, b = 20;
int max = (a > b) ? a : b;
Console.WriteLine($"Наибольшее число: {max}");

				
			
Вывод:
				
					Наибольшее число: 20

				
			

Если a > b, то max = a, иначе max = b.


Пример 2: Определение четности числа

				
					int number = 7;
string result = (number % 2 == 0) ? "Четное" : "Нечетное";
Console.WriteLine(result);

				
			

Вывод:

 
				
					Нечетное

				
			

Если число делится на 2 без остатка, оно четное, иначе — нечетное.


Пример 3: Проверка доступа по возрасту

				
					int age = 18;
string access = (age >= 18) ? "Доступ разрешен" : "Доступ запрещен";
Console.WriteLine(access);

				
			

Вывод:

				
					Доступ разрешен

				
			

Если возраст 18 или больше, доступ открыт, иначе — закрыт.


4. Вложенные тернарные операторы

Можно вкладывать тернарные операторы друг в друга, но это снижает читаемость кода.

Пример 4: Определение знака числа

 
				
					int num = -5;
string sign = (num > 0) ? "Положительное" : (num < 0) ? "Отрицательное" : "Ноль";
Console.WriteLine(sign);

				
			

Вывод:

				
					Отрицательное

				
			
  • Если num > 0"Положительное".
  • Если num < 0"Отрицательное".
  • Иначе "Ноль".

5. Ограничения тернарного оператора

❌ Нельзя использовать void-методы внутри тернарного оператора.
✅ Если выражения сложные, лучше использовать if-else для лучшей читаемости.

Заключение

  • Тернарный оператор (?:) делает код компактным.
  • Подходит для простых условий, но не заменяет if-else в сложных случаях.
  • Вложенные тернарные выражения нужно использовать осторожно для сохранения читаемости кода.

Используйте тернарный оператор для удобного и лаконичного кода! 🚀

Тестовое задание

Напишите программу, которая запрашивает у пользователя температуру и определяет, холодно, тепло или жарко:

  • Если температура ниже 10°C → "Холодно"
  • Если от 10°C до 25°C → "Тепло"
  • Если выше 25°C → "Жарко"

Пример кода:

				
					using System;

class Program
{
    static void Main()
    {
        Console.Write("Введите температуру: ");
        int temp = Convert.ToInt32(Console.ReadLine());

        string weather = (temp < 10) ? "Холодно" : (temp <= 25) ? "Тепло" : "Жарко";
        Console.WriteLine(weather);
    }
}

				
			

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

Codefor-Tech Чат

Привет! Я AI-бот. Чем могу помочь?
logo

Язык сайта: