Frage

Duplikat von: String-Ausgabe:Format oder Concat in C#?

Besonders in der C#-Welt ist die Verwendung von String.Format für alles sehr üblich, normalerweise als VB.NET-Entwickler, es sei denn, ich muss * Ich verwende String.Format nicht,

Ich bevorzuge die normale String-Verkettung, wie zum Beispiel:

V1 = V2 & "test-x" & V3 & "-;"

Für mich ist es besser als das:

V1 = String.Format("{0} test-x {1} -;", V2, V3)

Vermisse ich etwas?Oder ist das nur eine persönliche Vorliebe?

Gründe für die Verwendung von String.Format (aus den Antworten) (Ich werde versuchen, dies auf dem neuesten Stand zu halten)

  • Die Lokalisierung ist viel einfacher, wenn Sie das String-Format verwenden
  • Offensichtlich ist es einfacher, das Eingabeformat zu ändern
  • Es ist besser lesbar (Dies ist jedoch eine persönliche Angelegenheit)
  • Bessere Leistung

**Manchmal muss ich den Stil ändern oder Dinge dynamisch ersetzen, dann verwende ich String.Format*

War es hilfreich?

Lösung

Wenn Sie jemals Ihre Anwendung gehen zu lokalisieren (und es ist oft schwer, dass zu Beginn auszuschließen), dann ist String.Format viel lieber sein, aus zwei Gründen:

  1. Sie haben nur einen Stringliteral übersetzen
  2. Sie können die Reihenfolge der Werte ändern, die mehr Sinn in einer anderen Sprache machen kann.

Andere Tipps

Jeder hat etwa geschrieben, wie lesbar string.format ist (was ich akzeptieren, und es hat null ref und Internationalisierung zugute kommt ja), aber niemand hat erwähnt, dass es wesentlich langsamer als einfache String-Verkettung (geringe Anzahl die Elemente) oder unter Verwendung von Stringbuilder (große Anzahl von concats).

Wenn die Leistung Angelegenheiten oder Sie eine große Anzahl von Operationen zu tun (so Performance bald werden Materie), dann sollten Sie Format vermeiden.

Edit: Referenzen wie gewünscht;)

http://msmvps.com/blogs /jon_skeet/archive/2008/10/06/formatting-strings.aspx

http: // blog. briandicroce.com/2008/02/04/stringbuilder-vs-string-performance-in-net/

Nizza Artikel hier von Karl Seguin: Code besser - Einsatz string.format erklären einige der Vorteile.

Die erste Methode ist sehr schwer zu lesen und noch mehr von einer Bohrung zu geben. Wie gut, wenn Sie eine Menge von diesen Verkettungen tun beginnen, gibt es Überlegungen zur Leistung zu denken.

Wenn Sie tatsächlich die Formatierung Wert. ({0: d} etc.), String.Format ist viel besser als String-Verkettung lesen

Bei mir kommt es auf den Inhalt an.Durch das Verketten von Zeichenfolgen werden zusätzliche Zeichenfolgenobjekte erstellt (weil Zeichenfolgen sind in .NET unveränderlich), obwohl es sich hauptsächlich um ein Problem der Lesbarkeit handelt.

Manchmal wird es kompliziert, wenn Sie Zeilenumbrüche in eine Zeichenfolge einfügen möchten. In diesem Fall verwende ich eher Folgendes:

StringBuilder.AppendLine(string.Format("Some text {0}.", "here"));

Persönlich finde ich, dass String.Format leichter zu lesen ist, wird die Zeichenfolge als ein aufeinander folgender Text dargestellt. Es hängt allerdings ab, wie viele Parameter gibt es, wenn Sie sich für die richtigen Parameter jagen müssen, es zu verstehen, dann ...

Ich glaube, es ist eher eine Frage des persönlichen Geschmacks. Doch sobald ich es regelmäßig die meisten meiner Mannschaft begann mit folgten. Als wir es besprochen wurde vereinbart, dass nur leichter zu verstehen ist und zu lesen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top