Partage via


MemoryStream.SetLength(Int64) Méthode

Définition

Définit la longueur du flux actuel à la valeur spécifiée.

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ètres

value
Int64

Valeur à laquelle définir la longueur.

Exceptions

Le flux actuel n’est pas redimensionnable et value est supérieur à la capacité actuelle.

- ou -

Le flux actuel ne prend pas en charge l’écriture.

value est négatif ou supérieur à la longueur maximale du MemoryStream, où la longueur maximale est (Int32.MaxValue - origin) et origin est l’index dans la mémoire tampon sous-jacente à laquelle le flux démarre.

Remarques

Cette méthode se substitue à SetLength.

Si la valeur spécifiée est inférieure à la longueur actuelle du flux, le flux est tronqué. Si, après la troncation, la position actuelle dans le flux est passée au-delà de la fin du flux, la ReadByte méthode retourne -1, la Read méthode lit zéro octet dans le tableau d’octets fourni et WriteWriteByte les méthodes ajoutent des octets spécifiés à la fin du flux, ce qui augmente sa longueur. Si la valeur spécifiée est supérieure à la capacité actuelle et que le flux est redimensionnable, la capacité est augmentée et la position actuelle dans le flux est inchangée. Si la longueur est augmentée, le contenu du flux entre l’ancien et la nouvelle longueur est initialisé à zéros.

Notes

Une MemoryStream instance doit prendre en charge l’écriture pour que cette méthode fonctionne. Utilisez la CanWrite propriété pour déterminer si le instance actuel prend en charge l’écriture. Pour plus d'informations, consultez CanWrite.

S’applique à

Voir aussi