2016-06-23 13 views
9

Considerate questo codice:Quale tra l'interpolazione delle stringhe e il string.format è migliore per le prestazioni?

var url = "www.example.com"; 

String.Format:

var targetUrl = string.Format("URL: {0}", url); 

stringa di interpolazione:

var targetUrl=$"URL: {url}"; 

Quale di uno da interpolazione corda e string.Format è migliore in termini di prestazioni ?

Anche quali sono gli scenari migliori per l'utilizzo di essi?

+0

Sei di fronte al caso, quando le linee dall'alto sono lente? – Dennis

+0

Ho trovato l'interpolazione della stringa leggermente più lenta di string.format nel mio codice e anche in [questo collegamento] (http://www.dotnetperls.com/string-interpolation). –

+0

Il post collegato mostra risultati quasi identici per 'stringa.Formato' e interpolazione stringa (che è vero). Sembra un problema di ottimizzazione prematura. – Dennis

risposta

12

Quale tra l'interpolazione delle stringhe e string.format è migliore per le prestazioni?

Nessuno dei due è migliore poiché sono uguali in fase di esecuzione. L'interpolazione delle stringhe viene riscritta dal compilatore a string.Format, quindi entrambe le istruzioni sono esattamente uguali in fase di esecuzione.

Anche quali sono gli scenari migliori per l'utilizzo di essi?

Utilizzare l'interpolazione della stringa se si dispone di variabili nell'ambito che si desidera utilizzare nella formattazione della stringa. L'interpolazione delle stringhe è più sicura poiché ha una verifica dei tempi di compilazione sulla validità della stringa. Utilizzare string.Format se si carica il testo da un'origine esterna, ad esempio un file di risorse o un database.

Problemi correlati