OpCodes.Ldind_I Champ

Définition

Charge indirectement une valeur de type native int dans native int la pile d’évaluation.

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

Valeur de champ

Remarques

Le tableau suivant répertorie le format d'assembly MSIL (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

Format Format d’assembly Description
4D ldind.i Charge la valeur à l’adresse native intaddr sur la pile en tant que native int.

Le comportement transitionnel de la pile, dans l’ordre séquentiel, est :

  1. Une adresse est envoyée sur la pile.

  2. L’adresse est extraite de la pile ; la valeur située à l’adresse est extraite.

  3. La valeur extraite est envoyée (push) sur la pile.

L’instruction ldind.i charge indirectement une native int valeur de l’adresse spécifiée (de type native int, &ou *) sur la pile en tant que native int.

Toutes les ldind instructions sont des raccourcis pour une Ldobj instruction qui spécifie la classe de valeur intégrée correspondante.

Notez que les valeurs entières de moins de 4 octets sont étendues à int32 (pas native int) lorsqu’elles sont chargées sur la pile d’évaluation. Les valeurs à virgule flottante sont converties en F type lorsqu’elles sont chargées dans la pile d’évaluation.

Les instructions Microsoft msIL (Microsoft Intermediate Language) correctement formées garantissent que les instructions ldind sont utilisées de manière cohérente avec le type du pointeur.

L’adresse initialement envoyée sur la pile doit être alignée sur la taille naturelle des objets sur la machine ou une NullReferenceException peut se produire (voir l’instruction Unaligned de préfixe pour les mesures préventives). Les résultats de toutes les instructions MSIL qui retournent des adresses (par exemple, Ldloca et Ldarga) sont alignés en toute sécurité. Pour les types de données d’une taille supérieure à 1 octet, l’ordre d’octet dépend du processeur cible. Le code qui dépend de l’ordre des octets peut ne pas s’exécuter sur toutes les plateformes.

NullReferenceException peut être levée si une adresse non valide est détectée.

La surcharge de méthode suivante Emit peut utiliser l’opcode ldind.i :

S’applique à