Поделиться через


ArrayPool<T>.Return(T[], Boolean) Метод

Определение

Возвращает массив в пул, полученный ранее с помощью метода Rent(Int32) в том же экземпляре ArrayPool<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)

Параметры

array
T[]

Буфер для возврата в пул, полученный ранее с помощью метода Rent(Int32).

clearArray
Boolean

Указывает, следует ли очищать содержимое буфера перед повторным использованием. Если clearArray имеет значение true, а пул сохраняет буфер для повторного использования, метод Return(T[], Boolean) очистит array от содержимого, чтобы следующий вызывающий объект, использующий метод Rent(Int32), не увидел содержимое предыдущего вызывающего объекта. Если clearArray имеет значение false, а пул освобождает буфер, содержимое массива остается без изменений.

Комментарии

После возвращения буфера в пул вызывающий объект передает все права владения буфером и не должен использовать его. Ссылка, возвращаемая из заданного Rent вызова метода, должна быть возвращена Return с помощью метода только один раз. Значение по умолчанию ArrayPool<T> может удерживать возвращенный буфер, чтобы снова арендовать его, или освободить возвращенный буфер, если установлено, что в пуле уже сохранено достаточное количество буферов.

Применяется к