OpCodes.Ldind_I8 Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Lädt einen Wert vom Typ int64 als int64 einen indirekten Auswertungsstapel auf den Auswertungsstapel.
public: static initonly System::Reflection::Emit::OpCode Ldind_I8;
public static readonly System.Reflection.Emit.OpCode Ldind_I8;
staticval mutable Ldind_I8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_I8 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 |
|---|---|---|
| 4C | ldind.i8 | Lädt den int64 Wert der Adresse addr als int64Eine . |
Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:
Eine Adresse wird auf den Stapel verschoben.
Die Adresse wird aus dem Stapel eingetaucht; der Wert, der sich an der Adresse befindet, wird abgerufen.
Der abgerufene Wert wird auf den Stapel verschoben.
Die ldind.i8 Anweisung lädt indirekt einen int64 Wert aus der angegebenen Adresse (vom Typ native int, &oder *) in den Stapel als .int64
ldind Alle Anweisungen sind Tastenkombinationen für eine Ldobj Anweisung, die die entsprechende integrierte Wertklasse angibt.
Beachten Sie, dass ganzzahlige Werte von weniger als 4 Byte auf int32 (nicht native int) erweitert werden, wenn sie in den Auswertungsstapel geladen werden. Gleitkommawerte werden beim Laden in den Auswertungsstapel in F Typ konvertiert.
Richtig gebildete Microsoft Zwischensprache (MSIL) stellt sicher, dass die ldind Anweisungen auf eine Weise verwendet werden, die mit dem Zeigertyp übereinstimmt.
Die anfänglich auf den Stapel geschobene Adresse muss an der natürlichen Größe von Objekten auf dem Computer ausgerichtet werden oder eine NullReferenceException kann auftreten (siehe Unaligned Präfixanweisung für präventive Maßnahmen). Die Ergebnisse aller MSIL-Anweisungen, die Adressen zurückgeben (z Ldloca . B. und Ldarga) sind sicher ausgerichtet. Bei Datentypen, die größer als 1 Byte sind, hängt die Byte-Sortierung von der Ziel-CPU ab. Code, der von der Byte-Sortierung abhängt, wird möglicherweise nicht auf allen Plattformen ausgeführt.
NullReferenceException kann ausgelöst werden, wenn eine ungültige Adresse erkannt wird.
Die folgende Emit Methodenüberladung kann den ldind.i8 Opcode verwenden: