Si consideri il seguente codice che sto usando quando si visualizza l'indirizzo postale di un cliente all'interno di una tabella in una visualizzazione:ASP.NET MVC/C#: Posso evitare di ripetermi in una dichiarazione condizionale C# di una riga?
<%: Customer.MailingAddress == null ? "" : Customer.MailingAddress.City %>
mi ritrovo con una discreta quantità di queste istruzioni condizionali ternari e mi chiedo se non v'è un modo per fare riferimento all'oggetto da valutare nella condizione in modo che io possa usarlo nell'espressione. Qualcosa del genere, forse:
<%: Customer.MailingAddress == null ? "" : {0}.City %>
Esiste qualcosa del genere? So che posso creare una variabile per mantenere il valore, ma sarebbe bello tenere tutto dentro una piccola e stretta affermazione nelle pagine di visualizzazione.
Grazie!
+1 Non perché lo userei, ma mi piace come usa il concatenamento :-) –
Non penso che funzionerà effettivamente per fare ciò che l'OP vuole. non è nullo, quindi il risultato dell'istruzione è l'oggetto Customer.MailingAddress, ma l'utente desidera che la proprietà City dell'oggetto non sia l'oggetto stesso. –
@Adam Porad. Non è vero. Il risultato ** del primo Paren Block ** è sempre un MailingAddress dereferenziabile. Otteniamo quindi la proprietà/il campo Città di quel MailingAddress (e null si coalesce se necessario). – McKay