Exporter (0) Imprimer
Développer tout
Développer Réduire

OpCodes.Newarr, champ

Exécute un push dans la pile d'évaluation sur une référence d'objet à un nouveau tableau unidimensionnel de base zéro dont les éléments sont d'un type spécifique.

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

public static readonly OpCode Newarr
public static final OpCode Newarr
public static final var Newarr : OpCode

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

8D < T >

newarr etype

Crée un nouveau tableau avec des éléments de type etype.

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

  1. Le nombre d'éléments dans le tableau fait l'objet d'un push dans la pile.

  2. Le nombre d'éléments est extrait (pop) de la pile et le tableau est créé.

  3. Une référence d'objet au nouveau tableau fait l'objet d'un push dans la pile.

L'instruction newarr exécute un push d'une référence d'objet (type O) à un nouveau tableau unidimensionnel de base zéro dont les éléments sont de type etype (jeton de métadonnées décrivant le type). Le nombre d'éléments dans le nouveau tableau doit être spécifié en tant que natural int. Les index de tableau valides sont compris entre zéro et le nombre maximal d'éléments moins un.

Les éléments d'un tableau peuvent être de n'importe quel type, y compris les types valeur.

Les tableaux de nombres unidimensionnels de base zéro sont créés avec un jeton de métadonnées qui fait référence au type valeur approprié (Int32, etc.). Les éléments du tableau sont initialisés avec la valeur 0 du type qui convient.

Les tableaux unidimensionnels de base différente de zéro et les tableaux multidimensionnels sont créés avec Newobj au lieu de newarr. Ils sont plus couramment créés à l'aide des méthodes de la classe Array dans le .NET Framework.

OutOfMemoryException est levé si la mémoire disponible est insuffisante pour répondre à la demande.

OverflowException est levé si numElems est inférieur à 0.

La surcharge de méthode Emit suivante peut utiliser l'opcode newarr :

  • ILGenerator.Emit(OpCode, Type)

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft