GC.AllocateUninitializedArray<T>(Int32, Boolean) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Aloca um array saltando a inicialização zero, se possível.
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 Genérico
- T
Especifica o tipo do elemento do array.
Parâmetros
- length
- Int32
Especifica o comprimento do array.
- pinned
- Boolean
Especifica se o array alocado deve ser fixado.
Devoluções
Um objeto array com memória não inicializada.
Observações
Em versões .NET 7 e anteriores: Se fixado estiver definido para true, T não pode ser um tipo de referência ou um tipo que contenha referências de objetos.
Saltar a inicialização zero é um risco de segurança. O array não inicializado pode conter instâncias de valuetype inválidas ou informações sensíveis criadas por outras partes da aplicação. O código que opera em arrays não inicializados deve ser cuidadosamente examinado para garantir que os dados não inicializados nunca sejam lidos.
Saltar a inicialização zero usando esta API só traz um benefício material de desempenho para arrays grandes, como buffers de vários kilobytes ou mais.