ArrayPool<T>.Return(T[], Boolean) Método

Definición

Devuelve una matriz al grupo que se obtuvo anteriormente mediante el Rent(Int32) método en la misma ArrayPool<T> instancia.

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[]

Búfer que se va a devolver al grupo que se obtuvo anteriormente mediante el Rent(Int32) método .

clearArray
Boolean

Indica si el contenido del búfer se debe borrar antes de reutilizarlo. Si clearArray se establece en truey si el grupo almacenará el búfer para habilitar la reutilización posterior, el Return(T[], Boolean) método borrará el array de su contenido para que un llamador posterior que use el Rent(Int32) método no vea el contenido del autor de la llamada anterior. Si clearArray se establece false en o si el grupo liberará el búfer, el contenido de la matriz se deja sin cambios.

Comentarios

Una vez que se ha devuelto un búfer al grupo, el autor de la llamada deja toda la propiedad del búfer y no debe usarlo. La referencia devuelta desde una llamada determinada al Rent método solo debe devolverse mediante el Return método una vez. El valor predeterminado ArrayPool<T> puede contener el búfer devuelto para alquilarlo de nuevo, o puede liberar el búfer devuelto si se determina que el grupo ya tiene suficientes búferes almacenados.

Importante

Devolver la misma referencia de matriz dos veces o seguir usando la referencia de matriz después de que se haya devuelto es un problema de seguridad de alta gravedad. Estas acciones pueden dar lugar a vulnerabilidadesde uso y sin doble uso, lo que podría provocar daños en los datos, pérdidas de datos y denegación de servicio.

Se aplica a