Is there a point to buffering a TextReader?
TextReader has its own internal buffer and I can set the size on creation, so is there a reason I would want to use my own buffer and call Read( buffer, index, count ) over just getting char by char using Read()?
Who knows how complicated the internals of the Read() method are? Hopefully, they are optimized to be as fast and as efficient as possible. But chances are it is faster to call a single Read(…) method and then iterate over the array of characters. But another important question is: does it matter in your case what the performance difference is? If you are just reading 100 chars once or twice a minute, then the performance probably doesn’t matter. If you are processing multi-megabyte files sequentially, then you probably want the best possible performance. If the latter is the case, then the same answer always applies: measure, don’t guess.