Bagikan melalui


MemoryStream.Read Metode

Definisi

Overload

Read(Span<Byte>)

Membaca urutan byte dari aliran memori saat ini dan memajukan posisi dalam aliran memori dengan jumlah byte yang dibaca.

Read(Byte[], Int32, Int32)

Membaca blok byte dari aliran saat ini dan menulis data ke buffer.

Read(Span<Byte>)

Sumber:
MemoryStream.cs
Sumber:
MemoryStream.cs
Sumber:
MemoryStream.cs

Membaca urutan byte dari aliran memori saat ini dan memajukan posisi dalam aliran memori dengan jumlah byte yang dibaca.

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

Parameter

destinationbuffer
Span<Byte>

Wilayah memori. Ketika metode ini kembali, konten rentang ini digantikan oleh byte yang dibaca dari sumber aliran memori saat ini.

Mengembalikan

Jumlah total byte yang dibaca ke dalam buffer. Ini bisa kurang dari jumlah byte yang dialokasikan dalam buffer jika banyak byte saat ini tidak tersedia, atau nol (0) jika akhir aliran memori telah tercapai.

Berlaku untuk

Read(Byte[], Int32, Int32)

Sumber:
MemoryStream.cs
Sumber:
MemoryStream.cs
Sumber:
MemoryStream.cs

Membaca blok byte dari aliran saat ini dan menulis data ke buffer.

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

Parameter

buffer
Byte[]

Ketika metode ini kembali, berisi array byte yang ditentukan dengan nilai antara offset dan (offset + count - 1) digantikan oleh karakter yang dibaca dari aliran saat ini.

offset
Int32

Offset byte berbasis nol untuk buffer mulai menyimpan data dari aliran saat ini.

count
Int32

Jumlah maksimum byte yang akan dibaca.

Mengembalikan

Jumlah total byte yang ditulis ke dalam buffer. Ini bisa kurang dari jumlah byte yang diminta jika jumlah byte tersebut saat ini tidak tersedia, atau nol jika akhir aliran tercapai sebelum byte dibaca.

Pengecualian

bufferadalah null.

offset atau count negatif.

offset dikurangi dari panjang buffer kurang dari count.

Instans aliran saat ini ditutup.

Contoh

Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk MemoryStream kelas .

// Read the first 20 bytes from the stream.
byteArray = gcnew array<Byte>(memStream->Length);
count = memStream->Read( byteArray, 0, 20 );
// 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)

Keterangan

Metode ini mengambil Readalih .

Parameter offset memberikan offset byte pertama tempat buffer data dari aliran saat ini ditulis. Parameter count memberikan jumlah maksimum byte untuk dibaca dari aliran saat ini. Nilai yang dikembalikan adalah jumlah aktual byte yang dibaca, atau nol jika akhir aliran tercapai.

Jika operasi baca berhasil, posisi saat ini dalam aliran maju dengan jumlah byte yang dibaca. Jika terjadi pengecualian, posisi saat ini dalam aliran tetap tidak berubah.

Metode Read ini akan mengembalikan nol hanya jika akhir aliran tercapai. Dalam semua kasus lain, Read selalu membaca setidaknya satu byte dari aliran sebelum kembali. Menurut definisi, jika tidak ada data yang tersedia dari aliran saat panggilan ke Read, Read metode mengembalikan nol (akhir aliran tercapai secara otomatis). Implementasi gratis untuk mengembalikan lebih sedikit byte daripada yang diminta meskipun akhir aliran belum tercapai.

Gunakan BinaryReader untuk membaca jenis data primitif.

Perhatian

Jika array byte yang ditentukan dalam buffer parameter adalah buffer yang mendasar yang dikembalikan oleh GetBuffer metode , konten array akan ditimpa, dan tidak ada pengecualian yang dilemparkan.

Lihat juga

Berlaku untuk