MemoryStream.SetLength(Int64) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.