MemoryStream.SetLength(Int64) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger längden på den aktuella strömmen till det angivna värdet.
public:
override void SetLength(long value);
public override void SetLength(long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)
Parametrar
- value
- Int64
Längden som ska anges.
Undantag
Den aktuella strömmen kan inte ändras och value är större än den aktuella kapaciteten.
-eller-
Den aktuella strömmen stöder inte skrivning.
value är negativ
-eller-
I .NET 11 och senare versioner är value större än Array.MaxLength.
-eller-
I .NET 10 och tidigare versioner value är större än den maximala längden på MemoryStream, där den maximala längden är (Int32.MaxValue - origin), och origin är indexet i den underliggande bufferten där strömmen startar.
Kommentarer
Den här metoden åsidosätter SetLength.
Om det angivna värdet är mindre än strömmens aktuella längd trunkeras strömmen. Om den aktuella positionen i strömmen efter trunkeringen är förbi strömmens slut ReadByte returnerar metoden -1, Read metoden läser noll byte i den angivna bytematrisen och WriteWriteByte metoderna lägger till angivna byte i slutet av strömmen, vilket ökar dess längd. Om det angivna värdet är större än den aktuella kapaciteten och strömmen kan ändras ökas kapaciteten och den aktuella positionen i dataströmmen ändras inte. Om längden ökar initieras innehållet i strömmen mellan den gamla och den nya längden till nollor.
Note
En MemoryStream instans måste ha stöd för att den här metoden ska fungera. Använd egenskapen CanWrite för att avgöra om den aktuella instansen stöder skrivning. Mer information finns i CanWrite.