I've a question about buffer usage with StreamReader. Here: http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx you can see:
"When reading from a Stream, it is more efficient to use a buffer that is the same size as the internal buffer of the stream.".
According to this weblog , the internal buffer size of a StreamReader is 2k, so I can efficiently read a file of some kbs using the Read()
avoiding the Read(Char[], Int32, Int32)
.
Moreover, even if a file is big I can construct the StreamReader passing a size for the buffer
So what's the need of an external buffer?