ArrayPool<T>.Return(T[], Boolean) Yöntem

Tanım

Daha önce aynı Rent(Int32) örnekteki yöntemi kullanılarak elde edilen havuza ArrayPool<T> bir dizi döndürür.

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)

Parametreler

array
T[]

Daha önce yöntemi kullanılarak elde edilen havuza geri dönmek için bir Rent(Int32) arabellek.

clearArray
Boolean

Yeniden kullanmadan önce arabellek içeriğinin temizlenip temizlenmeyeceğini gösterir. olarak ayarlanırsa clearArraytrueve havuz sonraki yeniden kullanımı etkinleştirmek için arabelleği depolayacaksa yöntemi, Return(T[], Boolean) yöntemini kullanan array sonraki bir çağıranın önceki çağıranın içeriğini görmemesi için içindekileri temizlerRent(Int32). olarak ayarlanırsa clearArrayfalse veya havuz arabelleği serbest bırakırsa, dizinin içeriği değişmeden bırakılır.

Açıklamalar

Havuza bir arabellek döndürüldükten sonra, çağıran arabellek tüm sahipliğini verir ve bunu kullanmamalıdır. Yöntemine Rent verilen bir çağrıdan döndürülen başvuru yalnızca bir kez yöntemi kullanılarak Return döndürülmelidir. Varsayılan değer ArrayPool<T> , döndürülen arabelleği yeniden kiralamak için tutabilir veya havuzda zaten depolanmış yeterli arabellek olduğu belirlendiyse döndürülen arabelleği serbest bırakabilir.

Important

Aynı dizi başvuruyu iki kez döndürmek veya dizi başvurusu döndürüldükten sonra kullanmaya devam etmek yüksek önem derecesinde bir güvenlik sorunudur. Bu eylemler , veri bozulmasına, veri sızıntılarına ve hizmet reddine neden olabilecek çift ücretsiz ve kullanımdan sonra ücretsiz güvenlik açıklarına yol açabilir.

Şunlara uygulanır