MemoryStream.Read Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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
buffer
adalah 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.