MemoryStream.SetLength(Int64) Metode

Definisi

Mengatur panjang aliran saat ini ke nilai yang ditentukan.

public:
 override void SetLength(long value);
public override void SetLength(long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)

Parameter

value
Int64

Panjang yang akan diatur.

Pengecualian

Aliran saat ini tidak dapat diubah ukurannya dan value lebih besar dari kapasitas saat ini.

-atau-

Aliran saat ini tidak mendukung penulisan.

value negatif

-atau-

Dalam .NET 11 dan versi yang lebih baru, value lebih besar dari Array.MaxLength.

-atau-

Dalam .NET 10 dan versi yang lebih lama, value lebih besar dari panjang maksimum MemoryStream, di mana panjang maksimum adalah (Int32.MaxValue - origin), dan origin adalah indeks ke dalam buffer yang mendasar di mana aliran dimulai.

Keterangan

Metode ini mengambil alih SetLength.

Jika nilai yang ditentukan kurang dari panjang aliran saat ini, aliran akan dipotong. Jika setelah pemotongan posisi saat ini dalam aliran melewati akhir aliran, ReadByte metode mengembalikan -1, Read metode membaca nol byte ke dalam array byte yang disediakan, dan Write metode menambahkan WriteByte byte yang ditentukan di akhir aliran, meningkatkan panjangnya. Jika nilai yang ditentukan lebih besar dari kapasitas saat ini dan aliran dapat diubah ukurannya, kapasitas ditingkatkan, dan posisi saat ini dalam aliran tidak berubah. Jika panjang ditingkatkan, konten aliran antara panjang lama dan baru diinisialisasi menjadi nol.

Note

Instans MemoryStream harus mendukung penulisan agar metode ini berfungsi. CanWrite Gunakan properti untuk menentukan apakah instans saat ini mendukung penulisan. Untuk informasi lainnya, lihat CanWrite.

Berlaku untuk

Lihat juga