Stream.ReadByte Метод

Определение

Считывает байт из потока и перемещает позицию в потоке на один байт или возвращает -1, если достигнут конец потока.Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

public:
 virtual int ReadByte();
public virtual int ReadByte ();
abstract member ReadByte : unit -> int
override this.ReadByte : unit -> int
Public Overridable Function ReadByte () As Integer

Возвращаемое значение

Байт без знака, приведенный к Int32, или значение -1, если достигнут конец потока.The unsigned byte cast to an Int32, or -1 if at the end of the stream.

Исключения

Поток не поддерживает чтение.The stream does not support reading.

Методы были вызваны после закрытия потока.Methods were called after the stream was closed.

Комментарии

Используйте свойство CanRead, чтобы определить, поддерживает ли текущий экземпляр чтение.Use the CanRead property to determine whether the current instance supports reading.

Попытки управления потоком после закрытия потока могут вызвать исключение ObjectDisposedException.Attempts to manipulate the stream after the stream has been closed could throw an ObjectDisposedException.

Примечания для тех, кто наследует этот метод

Реализация по умолчанию в Stream создает новый однобайтовый массив, а затем вызывает Read(Byte[], Int32, Int32).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.

Применяется к

Дополнительно