int five = 5;
- когда переменная 5 равна 5, введите true
- когда переменная 5 не равна 5, напишите false
Как написать инструкцию для этого в ASP.NET с помощью С#?
int five = 5;
Как написать инструкцию для этого в ASP.NET с помощью С#?
int five = 5;
string answer = five == 5 ? "true" : "false";
Я вижу, что вы хотите использовать это для записи значений в ASP.NET, строка answer
будет содержать нужное значение, используйте это, как вам угодно.
Тернарный оператор почти в каждом языке работает как оператор inline if:
Console.WriteLine((five == 5) ? 'true' : 'false');
(Вы не должны строго нуждаться во внутренних парах, но я хочу включить их для ясности.)
Если логическое значение принимает значение true, тогда все выражение равно значению между ?
и :
. Если значение boolean равно false, выражение равно значению после :
.
Я не верю, что вы можете включить строки кода в середине оператора. Они просто должны быть выражениями, которые заменяют всю "фразу" оператора после оценки условия.
Я парень Java и не знаю С#; возможно, это другое. Но, вероятно, нет.
Вы могли бы сделать это очень просто. Сравнение пяти-пяти результатов в булевом, поэтому возможно также следующее:
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);
В ASP.NET, декларативный (т.е. где идет HTML):
<p>Is this five? <%= yourVariable == 5 ? "true" : "false"; %></p>
Или, альтернативно, в коде (например, где ваш код и классы С#):
someTextBox.Text = yourVariable == 5 ? "true" : "false";
Response.Write(five == 5 ? "True" : "False");
Хотя для этого примера я бы не использовал тройной оператор вообще:
Response.Write(five == 5);
Чтобы быть в безопасности, вы должны поместить свои тернарные выражения в parens(), потому что тернарный оператор?: имеет тонкий приоритет, который может укусить вас, если вы не смотрите.
string answer = ( (five==5) ? ("true") : ("false") );
Вероятно, это не важно в этом примере, но если тройка является частью сложного выражения, правила приоритета могут заставить компилятор интерпретировать выражение иначе, чем вы предполагали.
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'%>
Еще одна вариация:
string message = XmlConvert.ToString(5 == five);
Console.Write(message);
Простейшая вещь Console.WriteLine((five == 5).ToString());
Из комментария @JohnK:
int five = 5;
string answer = five == 5 ? bool.TrueString : bool.FalseString;
Представляет логическое значение true/false как строку. Это поле доступно только для чтения. https://msdn.microsoft.com/en-us/library/system.boolean.truestring(v=vs.110).aspx