OpCodes.Newarr Pole

Definicja

Wypycha odwołanie do obiektu do nowej tablicy jednowymiarowej opartej na zera, której elementy mają określony typ do stosu oceny.

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 

Wartość pola

Uwagi

W poniższej tabeli wymieniono format zestawu szesnastkowy i Microsoft Intermediate Language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
8D <T> newarr etype Tworzy nową tablicę z elementami typu etype.

Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:

  1. Liczba elementów w tablicy jest wypychana do stosu.

  2. Liczba elementów jest zwinięta ze stosu, a tablica jest tworzona.

  3. Odwołanie do obiektu do nowej tablicy jest wypychane do stosu.

Instrukcja newarr wypycha odwołanie do obiektu (typ O) do nowej tablicy jednowymiarowej opartej na zerze, której elementy są typu etype (token metadanych opisujący typ). Liczba elementów w nowej tablicy powinna być określona native intjako . Prawidłowe indeksy tablicy wahają się od zera do maksymalnej liczby elementów minus jeden.

Elementy tablicy mogą być dowolnym typem, w tym typami wartości.

Tablice jednowymiarowe liczb są tworzone na podstawie zera przy użyciu tokenu metadanych odwołującego się do odpowiedniego typu wartości (Int32itd.). Elementy tablicy są inicjowane do 0 odpowiedniego typu.

Niezerowe tablice jednowymiarowe i tablice wielowymiarowe są tworzone przy użyciu Newobj zamiast newarr. Częściej są one tworzone przy użyciu metod klasy Array w .NET Framework.

OutOfMemoryException jest zgłaszany, jeśli za mało pamięci, aby spełnić żądanie.

OverflowException wartość jest zgłaszana, jeśli numElems wartość jest mniejsza niż 0.

Następujące Emit przeciążenie metody może używać newarr kodu opcode:

Dotyczy