Stream.ReadByte Stream.ReadByte Stream.ReadByte Stream.ReadByte Method

定義

ストリームから 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。ストリームの末尾の場合は -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では、新しい1バイト配列が作成さ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.

適用対象

こちらもご覧ください