MemoryStream.SetLength(Int64) 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.
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.