GC.AllocateUninitializedArray<T>(Int32, Boolean) 方法

定义

如果可能,则在跳过零初始化时分配一个数组。

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()

类型参数

T

指定数组元素的类型。

参数

length
Int32

指定数组的长度。

pinned
Boolean

指定是否必须固定分配的数组。

返回

T[]

具有未初始化内存的数组对象。

注解

如果固定为 trueT 则不能是包含对象引用的引用类型或类型。

跳过零初始化是一种安全风险。 单元化数组可以包含应用程序其他部分创建的无效 valuetype 实例或敏感信息。 应严格审查对单元化数组运行的代码,以确保从不读取单元化数据。

使用此 API 跳过零初始化仅对大型数组(例如多个千字节或更多字节的缓冲区)具有材料性能优势。

适用于