MemoryStream.Read メソッド

定義

オーバーロード

名前 説明
Read(Span<Byte>)

現在のメモリ ストリームからバイト シーケンスを読み取り、読み取ったバイト数だけメモリ ストリーム内の位置を進めます。

Read(Byte[], Int32, Int32)

現在のストリームからバイト ブロックを読み取り、データをバッファーに書き込みます。

Read(Span<Byte>)

ソース:
MemoryStream.cs
ソース:
MemoryStream.cs
ソース:
MemoryStream.cs
ソース:
MemoryStream.cs
ソース:
MemoryStream.cs

現在のメモリ ストリームからバイト シーケンスを読み取り、読み取ったバイト数だけメモリ ストリーム内の位置を進めます。

public:
 override int Read(Span<System::Byte> buffer);
public:
 override int Read(Span<System::Byte> destination);
public override int Read(Span<byte> buffer);
public override int Read(Span<byte> destination);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
Public Overrides Function Read (destination As Span(Of Byte)) As Integer

パラメーター

destinationbuffer
Span<Byte>

メモリの領域。 このメソッドが戻ると、このスパンの内容は、現在のメモリ ストリーム ソースから読み取られたバイトに置き換えられます。

返品

バッファーに読み込まれるバイトの合計数。 この値は、現在使用できないバイト数の場合はバッファーに割り当てられたバイト数より小さくすることができます。メモリ ストリームの末尾に達した場合は 0 になります。

適用対象

Read(Byte[], Int32, Int32)

ソース:
MemoryStream.cs
ソース:
MemoryStream.cs
ソース:
MemoryStream.cs
ソース:
MemoryStream.cs
ソース:
MemoryStream.cs

現在のストリームからバイト ブロックを読み取り、データをバッファーに書き込みます。

public:
 override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read(byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer

パラメーター

buffer
Byte[]

このメソッドから制御が戻るときに、指定されたバイト配列が格納され、 offset と (offset + count - 1) の間の値が、現在のストリームから読み取られた文字に置き換えられます。

offset
Int32

現在のストリームからのデータの格納を開始する buffer の 0 から始まるバイト オフセット。

count
Int32

読み取る最大バイト数。

返品

バッファーに書き込まれたバイトの合計数。 この値は、そのバイト数が現在使用できない場合は要求されたバイト数より小さく、ストリームの末尾に達した場合はバイトが読み取られる前に 0 を指定できます。

例外

buffernullです。

offset または count が負の値です。

offset バッファー長から減算された値が count未満です。

現在のストリーム インスタンスが閉じています。

このコード例は、 MemoryStream クラスに提供されるより大きな例の一部です。

// Read the first 20 bytes from the stream.
byteArray = new byte[memStream.Length];
count = memStream.Read(byteArray, 0, 20);
' Read the first 20 bytes from the stream.
byteArray = _
    New Byte(CType(memStream.Length, Integer)){}
count = memStream.Read(byteArray, 0, 20)

注釈

このメソッドは、Read をオーバーライドします。

offset パラメーターは、現在のストリームからのデータが書き込まれるbufferの最初のバイトのオフセットを指定します。 count パラメーターは、現在のストリームから読み取る最大バイト数を指定します。 返される値は、読み取られた実際のバイト数です。ストリームの末尾に達した場合は 0 です。

読み取り操作が成功した場合、ストリーム内の現在の位置は読み取られたバイト数だけ進みます。 例外が発生した場合、ストリーム内の現在の位置は変更されません。

Read メソッドは、ストリームの末尾に達した場合にのみ 0 を返します。 それ以外の場合は、 Read 常にストリームから少なくとも 1 バイトを読み取ってから戻ります。 定義上、 Readの呼び出し時にストリームからデータが使用できない場合、 Read メソッドは 0 を返します (ストリームの末尾に自動的に到達します)。 実装は、ストリームの末尾に達していない場合でも、要求されたバイト数よりも少ないバイト数を返します。

プリミティブ データ型を読み取る場合は、 BinaryReader を使用します。

Caution

buffer パラメーターで指定されたバイト配列が、GetBuffer メソッドによって返される基になるバッファーである場合、配列の内容は上書きされ、例外はスローされません。

こちらもご覧ください

適用対象