Frage

Für eine situation wie die Erfassung von text inkrementell zum Beispiel, wenn Sie waren empfangen die Ausgabe.schreiben, anrufen, wenn eine Seite Rendern, und die waren, an die angehängt wird, in einen textwriter über einen stringbuilder.

Gibt es einen effizienteren Weg, dies zu tun?Etwas, das existiert in dotnet bereits vorzugsweise?Vor allem, wenn es insgesamt Größe über hundert k.Vielleicht so etwas wie ein array von Seiten anstatt zusammenhängenden Speicher?

War es hilfreich?

Lösung

Ich denke, StringBuilder ist der effizienteste Weg, um text anzufügen, in .net.Effizienter können Sie die ursprüngliche Größe des StringBuilder-Objekt, wenn Sie es schaffen.

Andere Tipps

Es hängt davon ab, was Sie tun, mit text.

Wenn die Sorge ist, tracing oder logging, ich würde sagen, Ihre beste Wette ist die Verwendung von ETW (Event Tracing for Windows).Es ist ein kernel-level-tracing-Anlage, die gebaut wurde, der in Windows seit Windows 2000 und es ist viel, viel schneller als Datei-I/O.

Wenn Sie Sie nicht verwenden .NET 2.0, Sie haben zu tun, ein wenig win32-API arbeiten, es zu benutzen, und Sie haben, um eine provider-Klasse, dass Sie sich auf das system.Es ist ein wenig kompliziert, aber die Mühe Wert.

Wenn Sie Sie verwenden .NET 3.5, die es geschafft Etw Klassen befinden sich im System.Diagnose.Eventing.

Das ist so gut wie es geht.Sie können einen StringWriter aber es ist immer noch das schreiben in ein StringBuilder -

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