ArrayPool<T>.Return(T[], Boolean) Methode

Definition

Gibt ein Array an den Pool zurück, der zuvor mithilfe der Rent(Int32) Methode für dieselbe ArrayPool<T> Instanz abgerufen wurde.

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)

Parameter

array
T[]

Ein Puffer zum Zurückgeben an den Pool, der zuvor mithilfe der Rent(Int32) Methode abgerufen wurde.

clearArray
Boolean

Gibt an, ob der Inhalt des Puffers vor der Wiederverwendung gelöscht werden soll. Wenn clearArray dieser Wert auf true", und wenn der Pool den Puffer speichert, um die nachfolgende Wiederverwendung zu aktivieren, löscht die Return(T[], Boolean) Methode den array Inhalt des Inhalts, sodass ein späterer Aufrufer, der die Rent(Int32) Methode verwendet, den Inhalt des vorherigen Aufrufers nicht sehen wird. Wenn clearArray dieser auf den Puffer festgelegt false ist oder der Pool den Puffer freigibt, bleibt der Inhalt des Arrays unverändert.

Hinweise

Sobald ein Puffer an den Pool zurückgegeben wurde, gibt der Aufrufer den gesamten Besitz des Puffers auf und darf ihn nicht verwenden. Der von einem bestimmten Aufruf der Rent Methode zurückgegebene Verweis darf nur einmal mithilfe der Return Methode zurückgegeben werden. Der Standardwert ArrayPool<T> kann den zurückgegebenen Puffer beibehalten, um ihn erneut zu mieten, oder er kann den zurückgegebenen Puffer freigeben, wenn festgestellt wird, dass der Pool bereits über genügend Puffer verfügt.

Important

Wenn Sie denselben Arrayverweis zweimal zurückgeben oder den Arrayverweis weiterhin verwenden, nachdem er zurückgegeben wurde, handelt es sich um ein Sicherheitsproblem mit hohem Schweregrad. Diese Aktionen können zu doppelten undnutzungsfreien Sicherheitsrisiken führen, was zu Datenbeschädigungen, Datenlecks und Dienstverweigerung führen kann.

Gilt für: