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 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:
Liczba elementów w tablicy jest wypychana do stosu.
Liczba elementów jest zwinięta 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 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: