Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

OpCodes.Conv_I8, champ

Convertit la valeur située en haut de la pile d'évaluation en int64.

Espace de noms :  System.Reflection.Emit
Assembly :  mscorlib (dans mscorlib.dll)

public static readonly OpCode Conv_I8

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

Format

Format d'assembly

Description

6A

conv.i8

Convertit en int64, en exécutant un push de int64 dans la pile.

Le comportement de transition de la pile, dans un ordre séquentiel, est le suivant :

  1. value fait l'objet d'un push dans la pile.

  2. value est dépilé et une tentative de conversion est effectuée.

  3. Si la conversion réussit, la valeur obtenue fait l'objet d'un push dans la pile.

L'opcode conv.i8 convertit la valeur value située en haut de la pile en type spécifié dans l'opcode et laisse cette valeur convertie en haut de la pile. Les valeurs entières inférieures à 4 octets sont étendues à int32 lorsqu'elles sont chargées dans la pile d'évaluation (sauf si conv.i ou conv.u est utilisé, auquel cas le résultat est également native int). Les valeurs à virgule flottante sont converties en type F.

La conversion de nombres à virgule flottante en valeurs entières tronque le nombre vers zéro. La précision peut être perdue lors de la conversion de float64 en float32. Si value est trop grand pour être inclus dans float32 (F), l'infini positif (si value est positif) ou l'infini négatif (si value est négatif) est retourné. Si un dépassement de capacité se produit lors de la conversion d'un type entier en un autre, les bits de poids fort sont tronqués. Si le résultat est inférieur à int32, la valeur est de type signe étendu afin de remplir l'emplacement.

Si un dépassement de capacité se produit lors de la conversion d'un type virgule flottante en un entier, la valeur retournée n'est pas spécifiée.

Aucune exception n'est levée lors de l'utilisation de ce champ. Consultez Conv_Ovf_I8 et Conv_Ovf_I8_Un pour obtenir des instructions équivalentes qui lèvent une exception lorsque le type de résultat ne peut pas représenter correctement la valeur de résultat.

La surcharge de méthode Emit suivante peut utiliser l'opcode conv.i8 :

  • ILGenerator.Emit(OpCode)

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft