ArrayPool<T>.Return(T[], Boolean) Méthode

Définition

Retourne un tableau au pool qui a été obtenu précédemment à l’aide de la Rent(Int32) méthode sur la même ArrayPool<T> instance.

public abstract void Return(T[] array, bool clearArray = false);
abstract member Return : 'T[] * bool -> unit
Public MustOverride Sub Return (array As T(), Optional clearArray As Boolean = false)

Paramètres

array
T[]

Mémoire tampon pour revenir au pool obtenu précédemment à l’aide de la Rent(Int32) méthode.

clearArray
Boolean

Indique si le contenu de la mémoire tampon doit être effacé avant la réutilisation. Si clearArray elle est définie truesur , et si le pool stocke la mémoire tampon pour permettre la réutilisation ultérieure, la Return(T[], Boolean) méthode efface le array contenu de son contenu afin qu’un appelant suivant à l’aide de la Rent(Int32) méthode ne voit pas le contenu de l’appelant précédent. Si clearArray elle est définie false ou si le pool libère la mémoire tampon, le contenu du tableau reste inchangé.

Remarques

Une fois qu’une mémoire tampon a été retournée au pool, l’appelant abandonne toute propriété de la mémoire tampon et ne doit pas l’utiliser. La référence retournée à partir d’un appel donné à la Rent méthode ne doit être retournée qu’une seule fois à l’aide de la Return méthode. La valeur par défaut ArrayPool<T> peut contenir la mémoire tampon retournée afin de la louer à nouveau, ou elle peut libérer la mémoire tampon retournée s’il est déterminé que le pool dispose déjà de suffisamment de mémoires tampons stockées.

Important

Retourner la même référence de tableau deux fois ou continuer à utiliser la référence de tableau une fois qu’elle a été retournée est un problème de sécurité de gravité élevée. Ces actions peuvent entraîner des vulnérabilités sans double et sans utilisation , ce qui peut entraîner une altération des données, des fuites de données et un déni de service.

S’applique à