次の方法で共有


OpCodes.Newarr フィールド

定義

特定の型の要素を持つ、インデックス番号が 0 から始まる新しい 1 次元配列へのオブジェクト参照を評価スタックにプッシュします。

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 

フィールド値

注釈

次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単な参照の概要を示します。

形式 アセンブリ形式 説明
8D <T> newarr etype 型の要素を持つ新しい配列を作成します etype

スタック遷移の動作は、順番に次のようになります。

  1. 配列内の要素の数がスタックにプッシュされます。

  2. スタックから要素の数がポップされ、配列が作成されます。

  3. 新しい配列へのオブジェクト参照がスタックにプッシュされます。

命令は newarr 、オブジェクト参照 (型) を、要素が型 Oである新しい 0 から始まる 1 次元配列 (型 etype を記述するメタデータ トークン) にプッシュします。 新しい配列内の要素の数は、 として native int指定する必要があります。 有効な配列インデックスの範囲は、0 から要素の最大数から 1 を引いた値までです。

配列の要素には、値型を含む任意の型を指定できます。

数値の 0 から始まる 1 次元配列は、適切な値の型 (Int32など) を参照するメタデータ トークンを使用して作成されます。 配列の要素は、適切な型の 0 に初期化されます。

0 以外の 1 次元配列と多次元配列は、 ではなく newarrを使用してNewobj作成されます。 より一般的には、.NET Frameworkの クラスの メソッドをArray使用して作成されます。

OutOfMemoryException は、要求を満たすメモリが不足している場合にスローされます。

OverflowException が 0 未満の場合 numElems にスローされます。

Emit のメソッド オーバーロードでは、オペコードを newarr 使用できます。

適用対象