ArrayPool<T>.Return(T[], Boolean) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een matrix geretourneerd naar de pool die eerder is verkregen met behulp van de Rent(Int32) methode op hetzelfde ArrayPool<T> exemplaar.
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)
Parameters
- array
- T[]
Een buffer om terug te keren naar de pool die eerder is verkregen met behulp van de Rent(Int32) methode.
- clearArray
- Boolean
Geeft aan of de inhoud van de buffer moet worden gewist voordat deze opnieuw wordt gebruikt. Als clearArray deze optie is ingesteld trueop , en als de pool de buffer opslaat om later hergebruik mogelijk te maken, wordt de Return(T[], Boolean)array inhoud ervan gewist, zodat een volgende aanroeper met behulp van de Rent(Int32) methode de inhoud van de vorige aanroeper niet ziet. Als clearArray deze is ingesteld op false of als de pool de buffer vrijgeeft, blijft de inhoud van de matrix ongewijzigd.
Opmerkingen
Zodra een buffer aan de pool is geretourneerd, geeft de aanroeper alle eigendom van de buffer op en mag deze niet meer worden gebruikt. De verwijzing die wordt geretourneerd van een bepaalde aanroep naar de Rent methode, mag slechts eenmaal worden geretourneerd met behulp van de Return methode. De standaardwaarde ArrayPool<T> kan de geretourneerde buffer vasthouden om deze opnieuw te huren, of kan de geretourneerde buffer vrijgeven als wordt vastgesteld dat de pool al voldoende buffers heeft opgeslagen.
Important
Dezelfde matrixverwijzing twee keer retourneren of de matrixverwijzing blijven gebruiken nadat deze is geretourneerd, is een beveiligingsprobleem met hoge ernst. Deze acties kunnen leiden tot dubbelvrije en gebruiksvrije beveiligingsproblemen, wat kan leiden tot beschadiging van gegevens, gegevenslekken en Denial of Service.