MemoryStream.SetLength(Int64) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Az aktuális stream hosszát a megadott értékre állítja.
public:
override void SetLength(long value);
public override void SetLength(long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)
Paraméterek
- value
- Int64
A beállított hossz.
Kivételek
Az aktuális stream nem méretezhető újra, és value nagyobb, mint a jelenlegi kapacitás.
-vagy-
Az aktuális stream nem támogatja az írást.
value negatív
-vagy-
A .NET 11-es és újabb verzióiban a value nagyobb, mint Array.MaxLength.
-vagy-
A .NET 10-ben és korábbi verzióiban value nagyobb, mint a MemoryStream maximális hossza, ahol a maximális hossz (Int32.MaxValue - origin), és origin a stream indításának alapjául szolgáló puffer indexe.
Megjegyzések
Ez a metódus felülbírálja a parancsot SetLength.
Ha a megadott érték kisebb, mint a stream aktuális hossza, a stream csonkolt lesz. Ha a csonkolás után a stream aktuális pozíciója túllépi a stream végét, a ReadByte metódus -1 értéket ad vissza, a Read metódus nulla bájtot olvas be a megadott bájttömbbe, a Write metódus pedig WriteByte hozzáfűzi a megadott bájtokat a stream végén, növelve annak hosszát. Ha a megadott érték nagyobb, mint az aktuális kapacitás, és a stream átméretezhető, a kapacitás megnő, és a streamen belüli jelenlegi pozíció nem változik. Ha a hossz megnő, a régi és az új hossz közötti stream tartalma nullákra lesz inicializálva.
Note
Egy MemoryStream példánynak támogatnia kell a metódus írását a működéshez. CanWrite A tulajdonság használatával állapítsa meg, hogy az aktuális példány támogatja-e az írást. További információ: CanWrite.