Freigeben über


OpCodes.Ldc_I4 Feld

Definition

Legt einen bereitgestellten Wert vom Typ int32 als int32 auf dem Auswertungsstapel ab.

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 MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
20 <int32> ldc.i4 num Pusht den Wert num auf den Stapel.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Der Wert num wird auf den Stapel gepusht.

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 ganze 4-Byte-Zahlen auf den Stapel. Längere Codierungen werden für 8 Byte-Ganzzahlen und 4 und 8 Byte-Gleitkommazahlen sowie für 4-Byte-Werte verwendet, die nicht in die Kurzformen passen. Es gibt drei Möglichkeiten, eine 8-Byte-Ganzzahlkonstante auf den Stapel zu übertragen.

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

  2. Verwenden Sie die Ldc_I4 Anweisung gefolgt von einer Conv_I8 für Konstanten, die 9 bis 32 Bits 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: