2016-06-23 7 views
9

Betrachten Sie diesen Code:Welcher von einem von String-Interpolation und string.format ist in der Leistung besser?

var url = "www.example.com"; 

String.Format:

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

String Interpolation:

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

, die aus einem von String-Interpolation und string.Format besser in der Leistung ?

Auch was sind die besten Szenarien für den Einsatz von ihnen?

+0

Haben Sie mit dem Fall konfrontiert, wenn Linien von oben langsam sind? – Dennis

+0

Ich fand String-Interpolation etwas langsamer als string.format in meinem Code sowie in [dieser Link] (http://www.dotnetperls.com/string-interpolation). –

+0

Der verlinkte Post zeigt fast identische Ergebnisse für 'string.Format' und String-Interpolation (was wahr ist). Das sieht nach einem vorzeitigen Optimierungsproblem aus. – Dennis

Antwort

12

Welche von einer von String-Interpolation und string.format ist in der Leistung besser?

Keine von beiden ist besser, da sie auf Laufzeit gleich sind. String-Interpolation wird vom Compiler auf string.Format umgeschrieben, so dass beide Anweisungen genau die gleiche zur Laufzeit sind.

Auch was sind die besten Szenarien für den Einsatz von ihnen?

Verwenden Sie die Zeichenfolgeninterpolation, wenn Sie Variablen im Bereich haben, die Sie in Ihrer Zeichenfolgenformatierung verwenden möchten. Die String-Interpolation ist sicherer, da sie die Gültigkeit der Zeichenkette kompiliert. Verwenden Sie string.Format, wenn Sie den Text von einer externen Quelle wie einer Ressourcendatei oder einer Datenbank laden.

Verwandte Themen