Как использовать тернарный оператор для этого оператора в С#

int five = 5;
  • когда переменная 5 равна 5, введите true
  • когда переменная 5 не равна 5, напишите false

Как написать инструкцию для этого в ASP.NET с помощью С#?

Ответ 1

int five = 5;
string answer = five == 5 ? "true" : "false";

Я вижу, что вы хотите использовать это для записи значений в ASP.NET, строка answer будет содержать нужное значение, используйте это, как вам угодно.

Ответ 2

Тернарный оператор почти в каждом языке работает как оператор inline if:

Console.WriteLine((five == 5) ? 'true' : 'false');

(Вы не должны строго нуждаться во внутренних парах, но я хочу включить их для ясности.)

Если логическое значение принимает значение true, тогда все выражение равно значению между ? и :. Если значение boolean равно false, выражение равно значению после :.

Я не верю, что вы можете включить строки кода в середине оператора. Они просто должны быть выражениями, которые заменяют всю "фразу" оператора после оценки условия.

Я парень Java и не знаю С#; возможно, это другое. Но, вероятно, нет.

Ответ 3

Вы могли бы сделать это очень просто. Сравнение пяти-пяти результатов в булевом, поэтому возможно также следующее:

int five = 5;
Console.WriteLine((five == 5).ToString());

Метод bool типа ToString() уже предназначен для возврата "True" или "False", и если нужна строчная альтернатива, это тоже просто:

int five = 5;
Console.WriteLine((five == 5).ToString().ToLower());

Если вам не нужна его нижняя область, вы можете полностью исключить ToString:

int five = 5;
Console.WriteLine(five == 5);

Ответ 4

В ASP.NET, декларативный (т.е. где идет HTML):

<p>Is this five? <%= yourVariable == 5 ? "true" : "false"; %></p>

Или, альтернативно, в коде (например, где ваш код и классы С#):

someTextBox.Text = yourVariable == 5 ? "true" : "false";

Ответ 5

Response.Write(five == 5 ? "True" : "False");

Хотя для этого примера я бы не использовал тройной оператор вообще:

Response.Write(five == 5);

Ответ 6

Чтобы быть в безопасности, вы должны поместить свои тернарные выражения в parens(), потому что тернарный оператор?: имеет тонкий приоритет, который может укусить вас, если вы не смотрите.

string answer = ( (five==5) ? ("true") : ("false") );

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

Ответ 7

five==5?console.writeline('true'):console.writeline('false')

Он работает следующим образом:

<if-expression> ? <code-when-if-expression-evaluates-true> : <code-when-if-expression-evaluates-false>

EDIT:

То, что я, вероятно, был thkinking:

<%=five==5?'true':'false'%>

Ответ 8

Еще одна вариация:

string message = XmlConvert.ToString(5 == five);
Console.Write(message);

Ответ 9

Простейшая вещь Console.WriteLine((five == 5).ToString());