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[]
具有未初始化記憶體的陣列物件。
備註
在 .NET 7 和舊版中:如果 pinned 設定為 true
,T
不得為參考類型或包含物件參考的類型。
略過零初始化是安全性風險。 未初始化的陣列可以包含應用程式其他部分所建立的無效 valuetype 實例或敏感性資訊。 在未初始化陣列上操作的程式代碼應該經過嚴格審查,以確保永遠不會讀取未初始化的數據。
使用這個 API 略過零初始化,只有大型數位的材質效能優點,例如數 KB 或以上的緩衝區。