OpCodes.Newarr 欄位

定義

將新的以零為起始一維陣列 (其項目屬於特定類型) 的物件參考推送至評估堆疊。

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 Intermediate Language (MSIL) 元件格式,以及簡短的參考摘要:

格式 元件格式 Description
8D <T> newarr etype 使用 類型的 etype 專案建立新的陣列。

堆疊轉換行為會依循序順序為:

  1. 陣列中的元素數目會推送至堆疊。

  2. 元素數目會從堆疊中快顯,並建立陣列。

  3. 新陣列的物件參考會推送至堆疊。

指令 newarr 會將物件參考 (類型 O) 推送至新的以零起始的一維陣列,其元素的類型 etype (描述類型) 的元資料標記。 新陣列中的專案數目應該指定為 native int 。 有效的陣列索引範圍從零到最大元素數目減一。

陣列的專案可以是任何類型,包括實值型別。

以零起始的一維數位陣列是使用參考適當實值型別 (Int32 的元資料標記來建立,依此類) 。 陣列的專案會初始化為適當類型的 0。

非零式一維陣列和多維度陣列是使用 Newobj 建立的,而不是 newarr 。 更常見的情況是,它們是使用 .NET Framework 中 類別的方法 Array 所建立。

OutOfMemoryException 如果記憶體不足而無法滿足要求,則會擲回 。

OverflowException 如果 numElems 小於 0,則會擲回 。

下列 Emit 方法多載可以使用 newarr opcode:

適用於