Aracılığıyla paylaş


OpCodes.Ldind_I2 Alan

Tanım

Değerlendirme yığınına türündeki int16 bir int32 değeri dolaylı olarak yükler.

public: static initonly System::Reflection::Emit::OpCode Ldind_I2;
public static readonly System.Reflection.Emit.OpCode Ldind_I2;
 staticval mutable Ldind_I2 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_I2 As OpCode 

Alan Değeri

Açıklamalar

Aşağıdaki tabloda, yönergenin onaltılık ve Microsoft Ara Dil (MSIL) derleme biçiminin yanı sıra kısa bir başvuru özeti listelenmiştir:

Biçimlendir Derleme Biçimi Description
48 ldind.i2 adres addr değerini int16 yığına olarak int32yükler.

Sıralı sırada yığın geçiş davranışı şu şekildedir:

  1. Bir adres yığına gönderilir.

  2. Adres yığından çıkarılır; adreste bulunan değer getirilir.

  3. Getirilen değer yığına gönderilir.

Yönerge, ldind.i2 belirtilen adresten (, &veya *türündenative int) bir int16 değeri dolaylı olarak yığına olarak int32yükler.

Tüm yönergeler, ldind karşılık gelen yerleşik değer sınıfını belirten yönerge Ldobj kısayollarıdır.

Değerlendirme yığınına yüklendiklerinde 4 bayttan küçük tamsayı değerlerinin (değilnative int) olarak genişletildiğini int32 unutmayın. Kayan nokta değerleri değerlendirme yığınına yüklendiğinde türe F dönüştürülür.

Doğru biçimlendirilmiş Microsoft Ara Dili (MSIL), yönergelerin ldind işaretçinin türüyle tutarlı bir şekilde kullanılmasını sağlar.

Başlangıçta yığına gönderilen adres, makinedeki nesnelerin doğal boyutuna hizalanmalıdır veya bir NullReferenceException oluşabilir (önleyici ölçüler Unaligned için ön ek yönergesine bakın). Adresleri döndüren tüm MSIL yönergelerinin sonuçları (örneğin, Ldloca ve Ldarga) güvenli bir şekilde hizalanır. 1 bayttan büyük veri türleri için bayt sıralaması hedef CPU'ya bağlıdır. Bayt sıralamaya bağlı kod tüm platformlarda çalışmayabilir.

NullReferenceException geçersiz bir adres algılanırsa oluşturulabilir.

Aşağıdaki Emit yöntem aşırı yüklemesi opcode'unu ldind.i2 kullanabilir:

Şunlara uygulanır