Bagikan melalui


OpCodes.Newarr Bidang

Definisi

Mendorong referensi objek ke array satu dimensi berbasis nol baru yang elemennya berjenis tertentu ke tumpukan evaluasi.

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 

Nilai Bidang

Keterangan

Tabel berikut mencantumkan format rakitan heksadesimal instruksi dan Microsoft Intermediate Language (MSIL), bersama dengan ringkasan referensi singkat:

Format Format Rakitan Deskripsi
8D <T> newarr etype Membuat array baru dengan elemen jenis etype.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Jumlah elemen dalam array didorong ke tumpukan.

  2. Jumlah elemen dimunculkan dari tumpukan dan array dibuat.

  3. Referensi objek ke array baru didorong ke tumpukan.

newarr Instruksi mendorong referensi objek (jenis O) ke array satu dimensi berbasis nol baru yang elemennya berjenis etype (token metadata yang menjelaskan jenisnya). Jumlah elemen dalam array baru harus ditentukan sebagai native int. Indeks array yang valid berkisar dari nol hingga jumlah maksimum elemen dikurangi satu.

Elemen array dapat berupa jenis apa pun, termasuk jenis nilai.

Array angka satu dimensi berbasis nol dibuat menggunakan token metadata yang mereferensikan jenis nilai yang sesuai (Int32, dan sebagainya). Elemen array diinisialisasi ke 0 dari jenis yang sesuai.

Array satu dimensi berbasis bukan nol dan array multidimensi dibuat menggunakan Newobj bukan newarr. Lebih umum, mereka dibuat menggunakan metode Array kelas di .NET Framework.

OutOfMemoryException dilemparkan jika tidak ada cukup memori untuk memenuhi permintaan.

OverflowException dilemparkan jika numElems kurang dari 0.

Metode berikut Emit kelebihan beban dapat menggunakan newarr opcode:

Berlaku untuk