Pregunta

Para una situación como la captura de texto de forma incremental, por ejemplo, si usted estaba recibiendo todos los de la salida.escribir llamadas cuando una página que fue de representación, y aquellos que estaban siendo anexado en un textwriter más de un stringbuilder.

Es allí una manera más eficiente de hacer esto?Algo que existe en dotnet ya de preferencia?Especialmente si hay un tamaño total más de un centenar de k.Tal vez algo más, como un conjunto de páginas en lugar de memoria contigua?

¿Fue útil?

Solución

Creo que StringBuilder es la forma más eficiente para añadir texto .net.Para ser más eficiente puede especificar el tamaño inicial de la StringBuilder en el momento de crear.

Otros consejos

Depende de lo que tú estás haciendo con ese texto.

Si la preocupación es el seguimiento o registro, que yo diría que su mejor apuesta es usar ETW (Seguimiento de Eventos para Windows).Es un núcleo de seguimiento de nivel de instalaciones en las que se ha construido en Windows desde Windows 2000 y es mucho, mucho más rápido que hacer de file I/O.

Si no estás usando .NET 2.0, usted tiene que hacer un poco de win32 API de trabajo a utilizar, y usted tiene que crear una clase de proveedor que usted se registra en el sistema.Es un poco complicado pero vale la pena el esfuerzo.

Si usted está usando .NET 3.5, el administrado Etw las clases pueden ser encontrados en el Sistema.Los diagnósticos.Concurso completo de equitación.

Que es tan bueno como se pone.Usted puede utilizar un StringWriter pero todavía escritura en un StringBuilder

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top