Partager via


OpCodes.Stloc Champ

Définition

Affiche la valeur actuelle en haut de la pile d’évaluation et la stocke dans la liste des variables locales à un index spécifié.

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

Valeur de champ

Remarques

Le tableau suivant répertorie le format d’assembly MSIL et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :

Format Format d’assembly Description
FE 0E <unsigned int16> stloc index Affiche une valeur de la pile et la stocke dans la variable indexlocale .

Le comportement transitoire de la pile, dans l’ordre séquentiel, est le suivant :

  1. Une valeur est extraite de la pile et placée dans la variable indexlocale .

L’instruction stloc fait apparaître la valeur supérieure de la pile d’évaluation et la déplace en numéro indexde variable local , où les variables locales sont numérotées à partir de 0. Le type de la valeur doit correspondre au type de la variable locale, comme spécifié dans la signature locale de la méthode actuelle.

Le stockage dans des locaux qui contiennent une valeur entière inférieure à 4 octets tronque la valeur à mesure qu’elle passe de la pile à la variable locale. Les valeurs à virgule flottante sont arrondies de leur taille native (type F) à la taille associée à l’argument.

Les instructions correctes msil (Microsoft Intermediate Language) nécessitent qu’il index s’agit d’un index local valide. Pour l’instruction stloc , index doit se trouver entre 0 et 65534 inclus (plus précisément, 65535 n’est pas valide). La raison de l’exclusion de 65535 est pragmatique : les implémentations probables utiliseront un entier de 2 octets pour suivre à la fois l’index d’un local, ainsi que le nombre total de locaux pour une méthode donnée. Si un index de 65535 avait été rendu valide, il faudrait un entier plus large pour suivre le nombre de locaux dans une telle méthode.

Les surcharges de méthode suivantes Emit peuvent utiliser l’opcode stloc :

S’applique à