Compartir vía


GC.AllocateUninitializedArray<T>(Int32, Boolean) Método

Definición

Asigna una matriz al omitir la inicialización cero, si es posible.

public static T[] AllocateUninitializedArray<T> (int length, bool pinned = false);
static member AllocateUninitializedArray : int * bool -> 'T[]
Public Shared Function AllocateUninitializedArray(Of T) (length As Integer, Optional pinned As Boolean = false) As T()

Parámetros de tipo

T

Especifica el tipo del elemento de matriz.

Parámetros

length
Int32

Especifica la longitud de la matriz.

pinned
Boolean

Especifica si se debe anclar la matriz asignada.

Devoluciones

T[]

Objeto de matriz con memoria sin inicializar.

Comentarios

En .NET 7 y versiones anteriores: si está anclado en true, T no debe ser un tipo de referencia o un tipo que contenga referencias de objeto.

Omitir la inicialización cero es un riesgo de seguridad. La matriz sin inicializar puede contener instancias de tipo de valor no válidas o información confidencial creada por otras partes de la aplicación. El código que funciona en matrices no inicializadas debe examinarse en gran medida para asegurarse de que los datos no inicializados nunca se leen.

Omitir la inicialización cero con esta API solo tiene una ventaja de rendimiento material para matrices grandes, como búferes de varios kilobytes o más.

Se aplica a