MemoryStream.SetLength(Int64) Methode

Definitie

Hiermee stelt u de lengte van de huidige stroom in op de opgegeven waarde.

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

Parameters

value
Int64

De lengte die moet worden ingesteld.

Uitzonderingen

De huidige stream kan niet worden aangepast en value is groter dan de huidige capaciteit.

– of –

De huidige stream biedt geen ondersteuning voor schrijven.

value is negatief

– of –

In .NET 11 en hoger is value groter dan Array.MaxLength.

– of –

In .NET 10 en eerdere versies, value is groter dan de maximumlengte van de MemoryStream, waarbij de maximumlengte (Int32.MaxValue - origin) is en origin de index is in de onderliggende buffer waarop de stroom wordt gestart.

Opmerkingen

Deze methode overschrijft SetLength.

Als de opgegeven waarde kleiner is dan de huidige lengte van de stream, wordt de stream afgekapt. Als na het afkappen van de huidige positie in de stroom voorbij het einde van de stroom ligt, retourneert de ReadByte methode -1, leest de Read methode nul bytes in de opgegeven bytematrix en Write worden WriteByte opgegeven bytes toegevoegd aan het einde van de stroom, waardoor de lengte ervan wordt verhoogd. Als de opgegeven waarde groter is dan de huidige capaciteit en de stream kan worden aangepast, wordt de capaciteit verhoogd en blijft de huidige positie binnen de stream ongewijzigd. Als de lengte wordt verhoogd, wordt de inhoud van de stroom tussen de oude en de nieuwe lengte geïnitialiseerd tot nullen.

Note

Een MemoryStream exemplaar moet ondersteuning bieden voor het schrijven van deze methode om te kunnen werken. Gebruik de CanWrite eigenschap om te bepalen of het huidige exemplaar ondersteuning biedt voor schrijven. Zie CanWritevoor meer informatie.

Van toepassing op

Zie ook