Si otros sugirieron solución no funciona, le sugiero que establecer un límite de caracteres para leer, y leer el texto por partes Una vez que almacena en caché una parte del texto, puede manipularlo.
Si necesidad manipular en cualquier dirección (quiero decir, no de izquierda a derecha en un solo paso), siempre se puede implementar un B-Tree
y almacenar partes del texto en los nodos :)
A veces es casi imposible trabajar secuencialmente leyendo un texto por partes, y aquí es donde un árbol B ayuda. Lo implementé hace aproximadamente un año con fines académicos (un administrador de mini bases de datos), pero creo que debería haber implementaciones de este en C#. Por supuesto, deberá implementar cómo cargar los nodos de BTree desde el archivo.
¿Qué tipo de manipulación de cadenas? ¿Estaría bien leer solo algunas partes en un momento dado? –
En teoría sí, pero trabajando con el código heredado y sé el entorno en el que se va a utilizar y sería más fácil leerlo de una vez. –
Supongo que en realidad tiene suficiente RAM libre en la PC con la que está intentando hacer esto. Sé que modificar el código heredado puede ser doloroso (y atemorizante también si su misión es crítica), pero es posible que deba considerar simplemente leer un fragmento a la vez y trabajar con él de esa manera. –