StreamReader
has a
Read()
method that reads one character at a time. It might be more efficient to use the (
buffered version[
^]) at the cost of getting a few extra characters and more complexity but getting one char at a time is slow.
All you then need do is loop, checking each each char in turn.