Stream.ReadByte Metoda

Definicja

Odczytuje bajt ze strumienia i przesuwa pozycję w strumieniu o jeden bajt lub zwraca wartość-1, jeśli na końcu strumienia.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

Zwraca

Bajty bez znaku rzutowanie Int32na lub-1, jeśli na końcu strumienia.The unsigned byte cast to an Int32, or -1 if at the end of the stream.

Wyjątki

Strumień nie obsługuje odczytywania.The stream does not support reading.

Metody zostały wywołane po zamknięciu strumienia.Methods were called after the stream was closed.

Uwagi

CanRead Użyj właściwości, aby określić, czy bieżące wystąpienie obsługuje odczytywanie.Use the CanRead property to determine whether the current instance supports reading.

Próby manipulowania strumieniem po zamknięciu strumienia mogą zgłosić ObjectDisposedException.Attempts to manipulate the stream after the stream has been closed could throw an ObjectDisposedException.

Uwagi dotyczące dziedziczenia

Domyślna implementacja w Stream programie tworzy nową tablicę jednobajtową, a następnie Read(Byte[], Int32, Int32)wywołuje metodę.The default implementation on Stream creates a new single-byte array and then calls Read(Byte[], Int32, Int32). Chociaż jest to prawidłowe rozwiązanie, jest niewydajne.While this is formally correct, it is inefficient. Każdy strumień z wewnętrznym buforem powinien przesłonić tę metodę i zapewnić znacznie bardziej wydajną wersję, która odczytuje bufor bezpośrednio, unikając dodatkowej alokacji tablicy dla każdego wywołania.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.

Dotyczy

Zobacz też