OpCodes.Ldc_I4 Feld

Definition

Verschiebt einen angegebenen Wert vom Typ int32 in den Auswertungsstapel als .int32

public: static initonly System::Reflection::Emit::OpCode Ldc_I4;
public static readonly System.Reflection.Emit.OpCode Ldc_I4;
 staticval mutable Ldc_I4 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldc_I4 As OpCode 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:

Format Assemblyformat Description
20 <int32> ldc.i4 num Verschiebt den Wert num auf den Stapel.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Der Wert num wird auf den Stapel verschoben.

Beachten Sie, dass es spezielle kurze (und damit effizientere) Codierungen für die ganzen Zahlen -128 bis 127 und insbesondere kurze Codierungen für -1 bis 8 gibt. Alle kurzen Codierungen pushen 4 Byte ganze Zahlen auf dem Stapel. Längere Codierungen werden für 8 Byte-Ganzzahlen und 4- und 8 Byte-Gleitkommazahlen sowie 4-Byte-Werte verwendet, die nicht in die kurzen Formen passen. Es gibt drei Möglichkeiten, eine 8 Byte ganzzahlige Konstante auf den Stapel zu übertragen.

  1. Verwenden Sie die Ldc_I8 Anweisung für Konstanten, die in mehr als 32 Bit ausgedrückt werden müssen.

  2. Verwenden Sie die Ldc_I4 Anweisung, gefolgt von einer Conv_I8 für Konstanten, die 9 bis 32 Bit erfordern.

  3. Verwenden Sie eine kurze Formularanweisung, gefolgt von einer Conv_I8 für Konstanten, die in 8 oder weniger Bits ausgedrückt werden können.

Die folgende Emit Methodenüberladung kann den ldc.i4 Opcode verwenden:

Gilt für: