次の方法で共有


OpCodes.Ldc_I4 フィールド

提供された int32 型の値を int32 として評価スタックにプッシュします。

Public Shared ReadOnly Ldc_I4 As OpCode
[C#]
public static readonly OpCode Ldc_I4;
[C++]
public: static OpCode Ldc_I4;
[JScript]
public static var Ldc_I4 : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

形式 アセンブリ形式 説明
20 < int32 > ldc.i4 num num をスタックにプッシュします。

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

  1. num がスタックにプッシュされます。

整数 -128 ~ 127 については特殊な短い (したがってより効率的な) エンコーディングがあり、-1 ~ 8 については特別に短いエンコーディングがあります。短いエンコーディングはすべて、4 バイト整数をスタックにプッシュします。長いエンコーディングは、8 バイト整数、4 バイトと 8 バイトの浮動小数点数、および短い形式に適合しない 4 バイト値に対して使用されます。8 バイト整数定数をスタックにプッシュするには、次の 3 つの方法があります。

1. 32 ビットを超えるビット数で表される定数の場合は、 Ldc_I8 命令を使用します。

2. 9 ~ 32 ビットを必要とする定数の場合は、 Ldc_I4 命令を使用し、続けて Conv_I8 命令を使用します。

3. 8 ビット以下で表すことができる定数の場合は、短い形式の命令を使用し、続けて Conv_I8 を使用します。

ldc.i4 オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode, int)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間