Qual è il termine/nome corretto per la seguente costruzione:Qual è il nome di questa costruzione del codice: condizione? true_expression: false_expression
string myString = (boolValue==true ? "true": "false");
Qual è il termine/nome corretto per la seguente costruzione:Qual è il nome di questa costruzione del codice: condizione? true_expression: false_expression
string myString = (boolValue==true ? "true": "false");
È un'espressione condizionale ternaria.
Questo è chiamato il ternario operatore condizionale. Non so se le espressioni che lo usano abbiano un nome specifico, comunque.
Spero che questo aiuti!
Hanno un nome specifico in base a tutti gli standard e l'operatore ha anche un nome specifico: * l'operatore condizionale *. –
@DavidHeffernan: in un sidenote: nella comunità C++ e C, l'operatore ternario_ è un'ortografia comune, poiché esiste un solo operatore ternario. –
@DavidHeffernan: Oops, ho accidentalmente ignorato la tua risposta, mi dispiace. Ne ho aggiunto un altro, come posso immaginare che alcuni programmatori non conoscano la relazione tra unario, binario e ternario (o n-ari). –
Penso che si chiami "operatore ternario".
Questa è un'espressione condizionale, ma quando si utilizza "?" è chiamato "Conditional Operator".
Non è un'affermazione, ma un'espressione! –
@BasileStarynkevitch - Aggiornato! – 5StringRyan
@BasileStarynkevitch è un'istruzione, anche se include un'espressione. –
È un'espressione condizionale .
Per facilitare la lettura, mettere la condizione complessa tra parentesi:
string myString = (somecond)?"true":"false";
Nel tuo caso, basta testare le boolValue
con
string MyString = boolValue?"true":"false".
Per la leggibilità, a meno che non sia molto banale (e molti lo siano), metti la condizione e le due espressioni controllate su linee separate, proprio come faresti per un 'se'. –
La C, C++, C# e Java standard utilizzano tutti i seguenti termini:
Quindi quelli sono nomi ufficiali. I programmatori spesso si riferiscono più liberamente ad esso come l'operatore ternario poiché è l'unico operatore comunemente utilizzato con 3 operandi. A rigor di termini è solo un operatore ternario.
L'operatore ?:
è "l'operatore condizionale".
boolValue==true ? "true": "false"
è quindi un'espressione condizionale.
myString = (boolValue==true ? "true": "false")
è un'espressione condizionale che ha anche un'assegnazione.
string myString = (boolValue==true ? "true": "false");
è un'istruzione che utilizza un'espressione condizionale in una dichiarazione e un'assegnazione.
?:
viene spesso definito "operatore ternario". Rigorosamente è solo un operatore ternario, ma poiché è l'unico in quelle lingue che si riferisce a l'operatore ternario è valido anche se applica un'etichetta basata su un fatto separato dalla propria definizione interna.Dove siamo di aggiungere un operatore di un linguaggio come x § y ¶ z
che ha avuto tutti e tre x
, y
e z
come operandi allora sarebbe anche un operatore ternario e mentre l'operatore condizionale sarebbe ancora un operatore ternario, sarebbe più essere l'operatore ternario.
Non sono sicuro che questo sia un linguaggio comune nella comunità C#, ma in C e C++ molte persone chiamano comunemente questo l'operatore ternario. Perché?
-x
.x+x
.x?y:z
.Il nome "corretto" è "l'operatore condizionale", poiché il risultato dipende dalla condizione (l'operando più a sinistra).
Si chiama "ternario" e per quanto mi ricordo, quando ho imparato Java (11/12 anni fa), non si poteva fare O O almeno, gli insegnanti non stavano insegnando questo a tutti Forse è tutto perché a volte il codice è meno leggibile ...
Quando wikipedia ritorna puoi fare riferimento a http://en.wikipedia.org/wiki/%3F: che è una pagina dedicata a questo operatore. –