ArrayPool<T>.Return(T[], Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma matriz para o pool que foi obtida anteriormente usando o Rent(Int32) método na mesma ArrayPool<T> instância.
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)
Parâmetros
- array
- T[]
Um buffer a ser retornado ao pool que foi obtido anteriormente usando o Rent(Int32) método.
- clearArray
- Boolean
Indica se o conteúdo do buffer deve ser limpo antes da reutilização. Se clearArray estiver definido como true, e se o pool armazenar o buffer para habilitar a reutilização subsequente, o Return(T[], Boolean) método limpará o array conteúdo para que um chamador subsequente usando o Rent(Int32) método não veja o conteúdo do chamador anterior. Se clearArray estiver definido como false ou se o pool liberar o buffer, o conteúdo da matriz ficará inalterado.
Comentários
Depois que um buffer é retornado ao pool, o chamador desiste de toda a propriedade do buffer e não deve usá-lo. A referência retornada de uma determinada chamada para o Rent método só deve ser retornada usando o Return método uma vez. O padrão ArrayPool<T> pode manter o buffer retornado para alugá-lo novamente ou pode liberar o buffer retornado se for determinado que o pool já tem buffers suficientes armazenados.
Importante
Retornar a mesma referência de matriz duas vezes ou continuar a usar a referência de matriz depois que ela tiver sido retornada é um problema de segurança de alta gravidade. Essas ações podem levar a vulnerabilidades sem uso e sem uso, o que pode resultar em corrupção de dados, vazamentos de dados e negação de serviço.