BufferedStream.ReadByte Method

Definition

Reads a byte from the underlying stream and returns the byte cast to an int, or returns -1 if reading from the end of the stream.

public:
 override int ReadByte();
public override int ReadByte ();
override this.ReadByte : unit -> int
Public Overrides Function ReadByte () As Integer

Returns

Int32

The byte cast to an int, or -1 if reading from the end of the stream.

Exceptions

An I/O error occurs, such as the stream being closed.

The stream does not support reading.

Methods were called after the stream was closed.

Notes to Inheritors

The default implementation on Stream creates a new single-byte array and then calls Read(Byte[], Int32, Int32). While this is formally correct, it is inefficient. Any stream with an internal buffer should override this method and provide a much more efficient version that reads the buffer directly, avoiding the extra array allocation on every call.

Applies to

See also