Domanda

  

possibili duplicati:
   di utilizzare il condizionale:? (ternario) Operatore
   è l'operatore condizionale lento?

Ciao a tutti,

Ho una piuttosto semplice domanda per quanto riguarda le diverse if / else.

Oltre a scrivere meno codice, ci sono altri vantaggi per l'utilizzo l'operatore condizionale in contrasto con la piena istruzione else if /?

C'è un aumento delle prestazioni, meno codice compilato, o qualsiasi altra cosa che mi avrebbe beneficio quando lo si utilizza?

Apprezziamo il vostro aiuto

Marko

È stato utile?

Soluzione

Non concentrarsi su scrittura meno codice ... attenzione per il codice che finiscono con l'essere più leggibile .

A volte una dichiarazione if sarà più leggibile. A volte l'operatore condizionale sarà più leggibile. Mi piace l'operatore condizionale nei casi in cui ha senso, in termini di differenti modi di calcolare un valore logico (ad esempio uno sconto, in base all'età di un cliente). Non mi piace usarlo in modo contorto però -. Non c'è niente di sbagliato con l'utilizzo di una piena if / else in cui ha senso

vale la pena di ricordare l'operatore null coalescenza troppo ... così invece di:

string shipTo = customer.ShippingAddress != null 
              ? customer.ShippingAddress : customer.BillingAddress;

è possibile utilizzare

string shipTo = customer.ShippingAddress ?? customer.BillingAddress;

Anche in questo caso, è utile solo in determinate situazioni -. Ma in quei casi è davvero a portata di mano

Altri suggerimenti

  

Oltre a scrivere meno codice, ci sono altri vantaggi per l'utilizzo l'operatore ternario in contrasto con la piena istruzione else if /?

una migliore leggibilità, in alcuni casi ... Penso che sia tutto.

  

C'è un aumento delle prestazioni, meno codice compilato, o anyhing altra cosa che mi avrebbe beneficio quando lo si utilizza?

No, nulla di significativo. Penso che di solito compilato allo stesso IL comunque ...

Così alla fine, si dovrebbe basare solo la vostra scelta sulla leggibilità. Quando è più leggibile a dare una completa if / else, farlo. Se si tratta di una semplice espressione ternaria che è facile da leggere, andare per esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top