OpCodes.Newarr Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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:
Liczba elementów w tablicy jest wypychana do stosu.
Liczba elementów jest wyskoczona ze stosu, a tablica jest tworzona.
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 int
jako . 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: