Język

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

Definicja

Zwraca tablicę do puli, która została wcześniej uzyskana przy użyciu metody w tym samym Rent(Int32) wystąpieniuArrayPool<T>.

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)

Parametry

array
T[]

Bufor, który ma powrócić do puli, która została wcześniej uzyskana przy użyciu Rent(Int32) metody .

clearArray
Boolean

Wskazuje, czy zawartość buforu powinna zostać wyczyszczone przed ponownym użyciem. Jeśli clearArray ustawiono truewartość , a jeśli pula będzie przechowywać bufor w celu umożliwienia późniejszego ponownego użycia, Return(T[], Boolean) metoda wyczyści array jego zawartość, tak aby kolejny obiekt wywołujący przy użyciu Rent(Int32) metody nie widział zawartości poprzedniego obiektu wywołującego. Jeśli clearArray ustawiono false wartość lub jeśli pula zwolni bufor, zawartość tablicy pozostanie niezmieniona.

Uwagi

Gdy bufor zostanie zwrócony do puli, obiekt wywołujący zrezygnował ze wszystkich własności buforu i nie może go używać. Odwołanie zwrócone z danego wywołania Rent metody musi zostać zwrócone tylko raz przy użyciu Return metody . Wartość domyślna ArrayPool<T> może trzymać się zwróconego buforu w celu ponownego jego wynajęcia lub może zwolnić zwrócony bufor, jeśli zostanie określony, że pula ma już wystarczającą ilość przechowywanych buforów.

Ważna

Zwracanie tego samego odwołania do tablicy dwa razy lub kontynuowanie korzystania z odwołania do tablicy po jej zwrócenia jest problemem z zabezpieczeniami o wysokiej ważności. Te akcje mogą prowadzić do podwójnego zwolnienia z luk w zabezpieczeniach i braku użycia , co może spowodować uszkodzenie danych, wycieki danych i odmowę usługi.

Dotyczy