Udostępnij za pośrednictwem


OpCodes.Newarr Pole

Definicja

Wypycha odwołanie do obiektu do nowej tablicy jednowymiarowej opartej na zera, której elementy są określonego typu na stosie 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 to:

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

  2. Liczba elementów jest wyskoczona 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 zera, 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 liczb jednowymiarowe oparte na zera są tworzone 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. Najczęściej są tworzone przy użyciu metod Array klasy w .NET Framework.

OutOfMemoryException jest zgłaszany, jeśli ilość pamięci jest niewystarczająca do spełnienia żądania.

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

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

Dotyczy