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í.
Nasdílí odkaz na objekt do nového pole založeného na nule, jednorozměrné pole, jehož prvky jsou specifické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í instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným přehledem referencí:
Formát | Formát sestavení | Description |
---|---|---|
8D <T > |
nová rutina 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 vynořil ze zásobníku a pole se vytvoří.
Odkaz na objekt na nové pole je vložen do zásobníku.
Instrukce newarr
odešle 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 do maximálního počtu 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í pomocí namísto Newobjnewarr
. Častěji se vytvářejí pomocí metod Array třídy v rozhraní .NET Framework.
OutOfMemoryException vyvolá se, pokud není k dispozici dostatek paměti pro splnění požadavku.
OverflowException je vyvolán, pokud numElems
je menší než 0.
Následující Emit přetížení metody může použít newarr
opcode: