OpCodes.Newarr 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將物件參考推送到一個新的零基、一維陣列,該陣列的元素屬於特定型態,並被推送到評估堆疊中。
public: static initonly System::Reflection::Emit::OpCode Newarr;
public static readonly System.Reflection.Emit.OpCode Newarr;
staticval mutable Newarr : System.Reflection.Emit.OpCode
Public Shared ReadOnly Newarr As OpCode
欄位值
備註
下表列出指令的十六進位及 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:
| Format | 組裝格式 | Description |
|---|---|---|
8D <T> |
紐瓦爾 etype |
建立一個新的陣列,元素型別為 etype。 |
堆疊的過渡行為依序為:
陣列中的元素數量會被推入堆疊。
從堆疊中彈出元素數量,陣列隨即建立。
將新陣列的物件參考推送到堆疊中。
指令會 newarr 將物件參考(型別 O)推送到一個新的零基一維陣列,該陣列的元素為型 etype 別(描述該型別的元資料標記)。 新陣列中的元素數應以 . 來指定 native int。 有效的陣列索引範圍從零到最大元素數減一。
陣列的元素可以是任何型別,包括值型別。
以零為基礎、一維的數字陣列是利用參考適當值型別的Int32元資料標記(如此類推)建立的。 陣列中的元素會被初始化為適當類型的 0。
非零基的一維陣列與多維陣列則使用 Newobj 而非 newarr。 更常見的是,它們是利用 .NET 框架中 Array 類別的方法來建立的。
OutOfMemoryException 若記憶體不足以滿足請求,則會拋出 。
OverflowException 若 numElems 小於 0,則 擲出。
以下 Emit 方法的超載可使用操作 newarr 碼: