OpCodes.Newarr Champ

Définition

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.

public: static initonly System::Reflection::Emit::OpCode Newarr;
public static readonly System.Reflection.Emit.OpCode Newarr;
 staticval mutable Newarr : System.Reflection.Emit.OpCode
Public Shared ReadOnly Newarr 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
8D <T> newarr etype Crée un tableau avec des éléments de type etype.

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

  1. Le nombre d’éléments dans le tableau est envoyé sur la pile.

  2. Le nombre d’éléments est extrait de la pile et le tableau est créé.

  3. Une référence d’objet au nouveau tableau est poussée vers la pile.

L’instruction newarr envoie une référence d’objet (type O) vers 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é sous la forme d’un native int. Les index de tableau valides vont de zéro au nombre maximal d’éléments moins un.

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

Les tableaux unidimensionnels de nombres de base zéro sont créés à l’aide d’un jeton de métadonnées référençant le type de valeur approprié (Int32et ainsi de suite). Les éléments du tableau sont initialisés à 0 du type approprié.

Les tableaux unidimensionnels et les tableaux multidimensionnels non nuls sont créés à l’aide Newobj de plutôt que de newarr. Plus généralement, ils sont créés à l’aide des méthodes de la Array classe dans le .NET Framework.

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

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

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

S’applique à