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 及更早版本中:如果釘選設定為 true,則 T 必須不是參考類型或包含物件參考的類型。
跳過零初始化會帶來安全風險。 未初始化的陣列可能包含無效的值型實例或由應用程式其他部分產生的敏感資訊。 操作於未初始化陣列的程式碼應被嚴格審查,以確保未初始化的資料永遠不會被讀取。
使用此 API 跳過零初始化,僅對大型陣列(如數 KB 或更多緩衝區)有實質效能提升。