Har stott pa en syntax i c# som jag inte riktigt kan fa grepp pa. Antar att den har sin bakgrund i c eller c++, men eftersom jag ar lyckligt ovetande om de spraken famlar jag helt i blindo. Japp, det är samma sak. Tackar for svaret! Misstänker att ?: har högre prioritet än ==, dvs att <b>Misstänker att ?: har högre prioritet än ==</b> Missförstod frågan och trodde att den första kodsnutten inte fungerade, därav min gissning på vad det kunde bero på. Tykigt svar f ö... Det var inte meningen att mitt svar skulle uppfattas som tykigt. Bara retsamt...syntax i c#
string Currency = testcase == true ? str1 : str2;
testcase ar en bool, str1 och str2 ar tva strings.
Vad sager detta statement?
Ar det samma sak som:
string currency;
if (testcase)
{
currency = str1;
}
else
{
currency = str2;
}
Sv: syntax i c#
Uttrycket <b>b ? e1 : e2</b> ger e1 om b är sann, e2 om b är falsk.
Men jag förstår inte varför jämförelsen <b>testcase == true</b> finns när testcase redan är en bool. Det borde räcka med bara
string Currency = testcase ? str1 : str2;
Sv:syntax i c#
Anledninge till att det fanns dar var att killen som skrev koden gjirde det sa. Ar ju att vara overtydlig, men sakert ingen som dor av det!Sv: syntax i c#
<info>
string Currency = testcase == true ? str1 : str2;
</info>
tolkas som
<info>
string Currency = (testcase == (true ? str1 : str2));
</info>
Vilket i sådana fall borde kompileringsfel...Om man nu vill vaa övertydlig i det fallet måste man nog skriva :
<info>
string Currency = (testcase == true) ? str1 : str2;
</info>
men jag tycker nog personligen att det bara blir sämre än det redan föreslagna (korrekta)
<info>
string Currency = testcase? str1 : str2;
</info>Sv:syntax i c#
Misstänka får du göra, men fakta betyder väl mer än misstankar? == har högre prioritet än ?:.
http://www.difranco.net/cop2220/op-prec.htmSv: syntax i c#
Sv:syntax i c#