Articles of operatore condizionale

L’operatore ternario / condizionale di Java (? :) può essere usato per chiamare metodi invece di assegnare valori?

In pagine come http://en.wikipedia.org/wiki/ ?: l’operatore ternario / condizionale ?: Sembra essere usato per compiti condizionali. Ho provato ad usarlo per la chiamata al metodo, in questo modo: (condition) ? doThis() : doThat(); Entrambi i metodi restituiscono nulla. Java mi dice che non è una dichiarazione. Quindi, immagino di non poter fare chiamate al metodo […]

Perché std :: istringstream sembra risolversi in modo diverso da std :: ifstream nel ternario (? :) operator?

Sono abituato a scrivere piccoli strumenti da riga di comando che prendono o il nome di un file o letti da std::cin , quindi uso questo pattern da un po ‘di tempo: int main(int argc, char* argv[]) { std::string filename; // args processing … std::ifstream ifs; if(!filename.empty()) ifs.open(filename); std::istream& is = ifs.is_open() ? ifs : […]

Digitare il risultato con l’operatore condizionale in C #

Sto cercando di usare l’operatore condizionale, ma mi sto bloccando sul tipo che pensa debba essere il risultato. Di seguito è un esempio che ho escogitato per mostrare il problema che sto avendo: class Program { public static void OutputDateTime(DateTime? datetime) { Console.WriteLine(datetime); } public static bool IsDateTimeHappy(DateTime datetime) { if (DateTime.Compare(datetime, DateTime.Parse(“1/1”)) == 0) […]

In C # perché un operatore condizionale non può eseguire il cast implicitamente su un tipo nullable

Sono curioso di sapere perché un cast implicito fallisce in … int? someValue = SomeCondition ? ResultOfSomeCalc() : null; e perché invece devo eseguire un cast esplicito int? someValue = SomeCondition ? ResultofSomeCalc() : (int?)null; Mi sembra che il compilatore abbia tutte le informazioni necessarie per prendere una decisione implicita sul casting, no?

Perché l’operatore condizionale è associato all’associazione?

Riesco a capire perché l’operatore di assegnazione abbia ragione associativo. Ha senso che quando x = 4 + 3 viene valutato, che 4 e 3 vengono aggiunti prima di essere assegnati a x. Non sono chiaro su come? trarrebbe vantaggio dall’essere associativi giusti. Importa solo quando due? s sono stati usati così z = (a […]

Perché questo codice non è valido in C #?

Il seguente codice non verrà compilato: string foo = “bar”; Object o = foo == null ? DBNull.Value : foo; Ricevo: Errore 1: il tipo di espressione condizionale non può essere determinato perché non esiste una conversione implicita tra “System.DBNull” e “string” Per risolvere questo problema, devo fare qualcosa del genere: string foo = “bar”; […]

Operatore condizionale Java?: Tipo di risultato

Sono un po ‘perplesso riguardo all’operatore condizionale. Considera le seguenti due linee: Float f1 = false? 1.0f: null; Float f2 = false? 1.0f: false? 1.0f: null; Perché f1 diventa nullo e la seconda istruzione lancia una NullPointerException? Langspec-3.0 para 15.25 sais: Altrimenti, il secondo e il terzo operando sono rispettivamente dei tipi S1 e S2. […]

Operatore ternario?: Vs se … altro

In C ++, l’operatore?: Più veloce di if () … altre istruzioni? Ci sono delle differenze tra loro nel codice compilato?

Differenze di operatore condizionale tra C e C ++

Ho letto da qualche parte che l’operatore ?: In C è leggermente diverso in C ++, che c’è un codice sorgente che funziona in modo diverso in entrambe le lingue. Sfortunatamente, non riesco a trovare il testo da nessuna parte. Qualcuno sa cos’è questa differenza?

Problema di tipo nullable con?: Operatore condizionale

Qualcuno potrebbe spiegare perché funziona in C # .NET 2.0: Nullable foo; if (true) foo = null; else foo = new DateTime(0); … ma questo non: Nullable foo; foo = true ? null : new DateTime(0); La seconda forma mi dà un errore di compilazione “Imansible determinare il tipo di espressione condizionale perché non esiste […]