Обычно в этом методе я ожидаю TextReader.ReadLine для чтения строки текста целиком и string.Split для разделения по разделителям. Посимвольно читать намного сложнее и не уверен, что из этого есть какой-то практический смысл (кроме экстремального случая, когда у нас текстовый файл огромного размера и состоит только из одной строки).
И для склеивания строк из символов лучше использовать StringBuilder вместо List, он для этого и создавался.
Что-то не уверен, что работает как задумывалось вот этот кусок: https://github.com/trewor92/03-Collections/blob/9d0a0b4745beb2c1c36d25765812b35c9d11afe6/CollectionsApplication1/Collections.cs#L110-L123 Я думаю, что это уже делает TextReader внутри своего метода.
Обычно в этом методе я ожидаю TextReader.ReadLine для чтения строки текста целиком и string.Split для разделения по разделителям. Посимвольно читать намного сложнее и не уверен, что из этого есть какой-то практический смысл (кроме экстремального случая, когда у нас текстовый файл огромного размера и состоит только из одной строки).
И для склеивания строк из символов лучше использовать StringBuilder вместо List, он для этого и создавался.