Open terrajobst opened 2 weeks ago
Tagging subscribers to this area: @dotnet/area-system-io See info in area-owners.md if you want to be subscribed.
This would be equivalent to calling ReadExactly(Span<byte>)
on the BinaryReader.BaseStream
property, right? This method would be much nicer/accessible though.
Logically yes, but practically the challenge is that the reader has its own buffer. By passing that would be problematic.
Background and motivation
When reading custom binary formats one very often needs a specific number of bytes. The existing
Read()
method doesn't read a specific number of bytes, it reads as many bytes are currently available. Calling code has to handle this.We had the same issue on
Stream
and solved this by exposingStream.ReadExactly
andStream.ReadAtLeast
.API Proposal
API Usage
Alternative Designs
No response
Risks
No response