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) アセンブリ形式と、簡単なリファレンス概要を示します。

フォーマット アセンブリ形式 Description
8D <T> newarr etype etype型の要素を持つ新しい配列を作成します。

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

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

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

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

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

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

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

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

OutOfMemoryException は、要求を満たすのに十分なメモリがない場合にスローされます。

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

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

適用対象