How to get rid of redundant operations in the BufferedStream?

Why BufferedStream system often refers to the stream that he supersuit when it shouldn't? For example, if I first read the first few bytes and then executes the Seek operation, the Buffered Stream will forward it to the underlying stream, although in principle I have the following query to read only those data which are already butaritari, or if you require more data than is already available in the buffer BufferedStream will still have to move the cursor on the size of the data buffer, so that the first change of position in any case redundant.

In General, I understand the standard implementation is very primitive and sharpened by a simple scenario a single pass through a large file, maybe there are more advanced implementations that would have proceeded from the assumption that all transactions with the source stream is very expensive and should be done only when necessary?
August 19th 19 at 23:24
0 answer

Find more questions by tags .NETC#