MemoryStream.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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
パラメーター
返品
バッファーに読み込まれるバイトの合計数。 この値は、現在使用できないバイト数の場合はバッファーに割り当てられたバイト数より小さくすることができます。メモリ ストリームの末尾に達した場合は 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 を指定できます。
例外
buffer は nullです。
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 メソッドによって返される基になるバッファーである場合、配列の内容は上書きされ、例外はスローされません。