GC.AllocateUninitializedArray<T>(Int32, Boolean) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
如果可能,则在跳过零初始化时分配一个数组。
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[]
具有未初始化内存的数组对象。
注解
如果固定为 true
, T
则不能是包含对象引用的引用类型或类型。
跳过零初始化是一种安全风险。 单元化数组可以包含应用程序其他部分创建的无效 valuetype 实例或敏感信息。 应严格审查对单元化数组运行的代码,以确保从不读取单元化数据。
使用此 API 跳过零初始化仅对大型数组(例如多个千字节或更多字节的缓冲区)具有材料性能优势。