OpCodes.Newarr Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vloží odkaz na objekt do nového jednorozměrného pole založeného na nule, jehož prvky jsou určitého typu, do zásobníku vyhodnocení.
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
Hodnota pole
Poznámky
Následující tabulka uvádí šestnáctkový formát sestavení jazyka MSIL (Intermediate Language) a Microsoft s stručným přehledem referenčních informací:
| Formát | Formát sestavení | Description |
|---|---|---|
8D <T> |
newarr etype |
Vytvoří nové pole s prvky typu etype. |
Přechodné chování zásobníku v sekvenčním pořadí je:
Počet prvků v poli je vložen do zásobníku.
Počet prvků se přepnul ze zásobníku a pole se vytvoří.
Odkaz na nový pole je vložen do zásobníku.
Instrukce newarr vloží odkaz na objekt (typ O) do nového jednorozměrného pole založeného na nule, jehož prvky jsou typu etype (token metadat popisující typ). Počet prvků v novém poli by měl být zadán jako .native int Platné indexy pole jsou v rozsahu od nuly až po maximální počet prvků minus jeden.
Prvky pole mohou být libovolného typu, včetně hodnotových typů.
Jednorozměrná pole čísel založená na nule se vytvářejí pomocí tokenu metadat odkazujícího na příslušný typ hodnoty (Int32atd.). Prvky pole jsou inicializovány na 0 příslušného typu.
Nenulová jednorozměrná pole a multidimenzionální pole se vytvářejí spíše než Newobjnewarr. Častěji se vytvářejí pomocí metod třídy Array v .NET Frameworku.
OutOfMemoryException je vyvolán, pokud není dostatek paměti pro splnění požadavku.
OverflowException je vyvolán, pokud numElems je menší než 0.
Emit Následující přetížení metody může použít newarr opcode: