Sdílet prostřednictvím


OpCodes.Newarr Pole

Definice

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:

  1. Počet prvků v poli je vložen do zásobníku.

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

  3. 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:

Platí pro