String / Stringbuilder, welche Lautstärke Sie einen über den anderen verwenden Sie

StackOverflow https://stackoverflow.com/questions/1651763

  •  22-07-2019
  •  | 
  •  

Frage

Es ist Freitag refactor Zeit !!!

Ich habe ein Objekt, das ich verwende, um SQL-Anweisungen zu erzeugen.

oDb.From wird einmal eingestellt. Dann können Metadaten hinzufügen beitreten (en) im Laufe der Zeit, bis wir alles und geben sie verbinden zurück.

So ist die Q, was # Mal behalte ich Syntax oDb.From + =, bevor ich es mit sbFrom.Append ersetzen ()

Ist das # 3, 4, oder 15-mal?

Oder ist es wirklich eine Länge von Inhalten Problem, und wenn ja, was ist die magische #?

TIA

War es hilfreich?

Lösung

Lesen Sie http://www.codinghorror.com/blog/archives/001218. html

Die StringBuilder-Klasse ist für Szenarien entwickelt, in denen Sie Mammut-Strings konstruieren und mit normaler String-Verkettung wäre wirklich zu langsam.

Die Chancen sind, dass für die Art von String Längen, die Sie mit ihm zu tun wirklich pflegt einen Unterschied machen, überhaupt -. Nur verwenden, was Sie am bequemsten mit

Andere Tipps

Völlig unwissenschaftlich Faustregel: Ich habe es für etwas mehr als drei Elemente tun würde - nicht wegen der Leistungssteigerung, sondern aus (hoffentlich) gute Gewohnheit

.

Wenn ich mehr als zwei Elemente zu einem String anhängen haben, verwende ich String fast immer (ich finde, dass, wenn ich mehr als zwei anhängen, es zwangsläufig mehr sein wird, wie die Menschen zu meinen Code beginnen Hinzufügen ... so ist String schon da für sie).

würde ich nichts sagen Sie erwarten, gehen über 1-5MB lang oder etwas, das viele Saiten in kleinen Brocken Zuweisungen.

Es ist nicht insgesamt unwissenschaftlich - ich einen Artikel ist einmal gelesen, wo in .NET-String-Builder wird tatsächlich effizienter nach 5 Verkettungen. Dies ist, wenn ich in der Regel einen String-Builder verwenden.

Auch - Ich denke, Lesbarkeit kommt ins Spiel, in Bezug auf das wirklich, und ich ziehe auch String-Format in einigen Fällen über beide

.

I String verwenden, wenn die Anzahl der Verkettung in einem Algorithmus wachsen über O (n). Wenn die Anzahl der Verkettung O (1) ist, die meiste Zeit Lesbarkeit leiden für nichts (außer, wenn die Zeichenfolge ist sehr groß, was nicht sehr häufig ist).

Oder, wenn ich weiß, dass es eine Zeichenfolge ist, die groß genug sein werden. (Mehr als 100k Zeichen)

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