GC.AllocateUninitializedArray<T>(Int32, Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.