Pergunta

int five = 5;
  • Quando a variável cinco for igual a 5, escreva verdadeira
  • Quando a variável cinco não for igual a 5, escreva falsa

Como escrevo uma declaração para isso no ASP.net usando C#?

Foi útil?

Solução

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

Vejo que você quer usar isso para escrever os valores em asp.net, o answer String manterá o valor desejado, use isso como quiser.

Outras dicas

O operador ternário em quase todos os idiomas funciona como uma instrução IF IF:

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

(Você não deve precisar estritamente das parens internas, mas eu gosto de incluí -las para clareza.)

Se o booleano avaliar como verdadeiro, toda a expressão é igual ao valor entre o ? e :. Se o booleano avaliar como falso, a expressão é igual ao valor após o :.

Não acredito que você possa incluir linhas de código no meio do operador. Essas são simplesmente expressões que substituem toda a "frase" do operador assim que a condição for avaliada.

Eu sou um cara Java e realmente não conheço C#; Talvez seja diferente. Mas provavelmente não.

Você pode mantê -lo realmente simples. Comparando de cinco a 5 resultados em um booleano, então também é possível:

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

o bool Tipo Para sequenciar() O método já foi projetado para retornar "verdadeiro" ou "falso", e se a alternativa minúscula for necessária, isso também é simples:

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

Se você não precisar mais baixo, também pode eliminar completamente a toque:

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

Em Asp.net, declarativo (ou seja, para onde o HTML vai):

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

Ou, alternativamente, no código atrás (ou seja, onde estão seu código e classes C#):

someTextBox.Text = yourVariable == 5 ? "true" : "false";
Response.Write(five == 5 ? "True" : "False");

No entanto, para este exemplo, eu não usaria o operador ternário:

Response.Write(five == 5);

Só para estar seguro, você deve colocar suas expressões ternárias em Parens (), porque o operador ternário ?: tem sutil precedência que pode morder você se você não estiver assistindo.

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

Provavelmente não é importante com este exemplo, mas se o ternário fizer parte de uma expressão complexa, as regras de precedência podem fazer com que o compilador interprete a expressão de maneira diferente do que você pretendia.

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

Funciona assim:

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

EDITAR:

O que eu provavelmente tinha sido thkinking:

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

Mais uma variação:

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

Coisa mais simples é console.writeLine ((cinco == 5) .ToString ());

Do comentário de @johnk use:

int five = 5;
string answer = five == 5 ? bool.TrueString : bool.FalseString;

Representa o valor booleano TRUE/FALSE como uma string. Este campo é só de leitura.https://msdn.microsoft.com/en-us/library/system.boolean.truestring(v=vs.110).aspx

Usando a instrução do operador ternário em c# com aval. (Na página ASPX)

<span><%# Eval("productname").ToString().Length<=0 ? "<label style=\"color: red;\">Notes<span></span></label>" : "<label style=\"color: blue;\">Notes<span></span></label>"%></span>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top