Non riesco a trovare quello che mi serve su google e scommetto che otterrò una risposta rapida qui.Errore del compilatore usando l'operatore condizionale C#
String str;
bool b = true;
b ? str="true" : str="false";
Console.Out.WriteLine(str);
che? : la sintassi sembra corretta per me. Sto ricevendo errore del compilatore però.
Program.cs (13,28):
errore CS1002:; atteso
Program.cs (13,28):
errore CS1525: termine Espressione non valida ':'
Program.cs (13,30):
errore CS1002:; atteso
Non sono sicuro della sintassi csharp, ma si basa su cpp. Per favore aiuto! Grazie!
AGGIORNAMENTO: Circa 10 di voi danno la risposta corretta LOL, quindi assegnerò solo alla prima persona che l'ha presentata.
Sintassi interessante, e penso che in realtà mi piace meglio della sintassi C++.
Il codice vero che stavo facendo questo per è:
ftp.ConnectMode = job.FTPUsePassiveMode ? FTPConnectMode.PASV : FTPConnectMode.ACTIVE;
Altri hanno già fornito la soluzione adeguata; è possibile che l'ordine di precedenza sia il problema. 'b? (str = "true"): (str = "false"); 'Anche se funziona, non lo userei in questo modo. – Matthew
@cchampion: "Sintassi interessante, e penso che mi piaccia davvero meglio della sintassi C++." - La sintassi C++ è la stessa. Dovrebbe essere str = b? "true": "false" in entrambe le lingue. – Josh