Modifica tu código de la siguiente manera:
...
Encoding enc = System.Text.Encoding.TIPO_DE_CODIFICACIÓN;
...
StreamReader sr
= new StreamReader
(a, enc
); ...
Nota: cómo es lógico, debes asegurarte de especificar la misma codificación de texto que tenga ese archivo de texto, no puedes especificar cualquier codificación aleatoria por que entonces los caracteres se representarán mal (aunque no todos los caracteres, depende). Prueba con la codificación UTF8 al ser de la más común, y puesto que de seguro NO es la codificación
System.Text.Encoding.Default (Windows-1252 por lo general si tienes Windows en Español), ya que esa es la codificación que se usa por defecto si no especificas arbitrariamente la codificación a usar, y ya has dejado claro que no te funciona bien esa codificación.
Pero déjame decirte una cosa, a menos que haya una razón en especial (educativa) por la que hayas decidido emplear una tediosa y tosca metodología ocupando 20 lineas, entonces te conviene borrar todo ese código y sencillamente realizar una llamada a la función
System.IO.File.ReadLines:
IEnumerable<string> textLines = System.IO.File.ReadLines(ruta_de_archivo, codificación);
Luego al arreglo lo mando a otro arreglo de otra clase
Tienes dos clases, llamémosla clase "A" y clase "B", bien, pues a menos que exista un motivo suficientemente razonable, como por ejemplo deshechar/liberar la instancia de la clase "A", entonces no tiene mucho sentido crear un duplicado (o copiar, mejor dicho) un array de la clase "A" en la clase "B", puesto que el array ya es accesible por tu código de la clase "B" en la clase "A"... o al menos eso parece ser según lo que estás diciendo.
Además, si quieres "enviar" algo a otra clase, deberías envíarlo como argumento al constructor de dicha clase, ya sea este una clase de tipo Form, o de un tipo personalizado. Y en el caso de que la clase "B" no sea una clase instanciable, entonces no tiene sentido enviar/copiar nada puesto que como ya digo puedes acceder al objeto en la clase "A". No se me ocurre un escenario donde realmente sea necesario copiar los elementos de un array en esas circunstancias por lo poco que has descrito.
Saludos.