OpCodes.Ldelem_U2 字段

定义

将位于指定数组索引处的 unsigned int16 类型的元素作为 int32 加载到计算堆栈的顶部。

public static readonly System.Reflection.Emit.OpCode Ldelem_U2;

字段值

注解

下表列出了指令的十六进制和 Microsoft 中间语言 (MSIL) 程序集格式,以及简短的参考摘要:

格式 程序集格式 说明
93 ldelem.u2 将索引处类型 unsigned int16 为 的元素作为 加载到堆栈 int32顶部。

堆栈过渡行为(按顺序排列)为:

  1. 对象引用 array 被推送到堆栈上。

  2. 索引值 index 将推送到堆栈上。

  3. indexarray 从堆栈中弹出;将查找存储在 中array的位置index的值。

  4. 值将推送到堆栈上。

指令ldelem.u2在从零开始的一维数组array中加载索引 index (类型 native int) 元素的值,并将其放在堆栈的顶部。 数组是 对象,因此由 类型的 O值表示。

ldelem.u2int16返回值为 。

请注意,小于 4 个字节的整数值在加载到评估堆栈上时会扩展为 int32 (不 native int) 。

NullReferenceException 如果 array 是 null 引用,则引发 。

ArrayTypeMismatchException 如果未 array 保存所需类型的元素,则会引发 。

IndexOutOfRangeException 如果 index 为负或大于 的 array边界,则引发 。

以下 Emit 方法重载可以使用 ldelem.u2 opcode:

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0