OpCodes.Newarr Pole

Definice

Nasdílí 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í hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem 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:

  1. Počet prvků v poli je nasdílený do zásobníku.

  2. Počet prvků se vynořil ze zásobníku a pole se vytvoří.

  3. Do zásobníku se vloží odkaz na objekt na nové pole.

Instrukce newarr nasdílí 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í Newobj .newarr Č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:

Platí pro