ArrayPool<T>.Return(T[], Boolean) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar en matris till poolen som tidigare erhölls med hjälp av Rent(Int32) metoden på samma ArrayPool<T> instans.
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)
Parametrar
- array
- T[]
En buffert för att återgå till poolen som tidigare erhölls med hjälp av Rent(Int32) metoden.
- clearArray
- Boolean
Anger om innehållet i bufferten ska rensas innan återanvändning. Om clearArray är inställt på true, och om poolen lagrar bufferten för att aktivera senare återanvändning, Return(T[], Boolean) rensar array metoden innehållet så att en efterföljande anropare som använder Rent(Int32) metoden inte ser innehållet i den tidigare anroparen. Om clearArray är inställt på false eller om poolen kommer att frigöra bufferten lämnas matrisens innehåll oförändrat.
Kommentarer
När en buffert har returnerats till poolen ger anroparen upp allt ägarskap för bufferten och får inte använda den. Referensen som returneras från ett givet anrop till Rent metoden får bara returneras med metoden Return en gång. Standardvärdet ArrayPool<T> kan innehålla den returnerade bufferten för att kunna hyra den igen, eller så kan den returnerade bufferten frigöras om det fastställs att poolen redan har tillräckligt med buffertar lagrade.
Important
Att returnera samma matrisreferens två gånger eller fortsätta att använda matrisreferensen när den har returnerats är ett säkerhetsproblem med hög allvarlighetsgrad. Dessa åtgärder kan leda till dubbelfria och användningsfria sårbarheter, vilket kan leda till skadade data, dataläckor och överbelastning.