Как с помощью тернарного оператора вывести в консоль сообщение и присвоить значение?
int xxx = (Convert.ToInt32(Console.ReadLine())) == 5 ? Console.WriteLine("win") & 5: Console.WriteLine("loss") & 0;
}
Что мне нужно: Чтобы после ввода цифры, она сравнивалась с цифрой 5,и в случае если число нужное, вывелось сообщение и присвоилось переменной 5,а в противном случае сообщение и присвоилось 0;
Ответы (1 шт):
Автор решения: Dev18
→ Ссылка
Тернарный оператор возвращает значение по-моему, но он не позволит выполнять несколько операций, таких как И вывод в консоль И присваивание значения переменной одновременно
Хотя технически это можно сделать ---смотрите ответ
@eccs0103 в комментариях, это не является хорошей практикой, так как усложняет понимание кода
В тернарном операторе лучше оставить только присваивание значения, а вывод сообщений сделать до или после него
int input = Convert.ToInt32(Console.ReadLine());
int xxx = input == 5 ? 5 : 0;
Console.WriteLine(xxx == 5 ? "win" : "loss");
вот так тоже можно
int input = Convert.ToInt32(Console.ReadLine());
int xxx = input == 5 ? PrintAndReturn("win", 5) : PrintAndReturn("loss", 0);
int PrintAndReturn(string message, int value)
{
Console.WriteLine(message);
return value;
}