导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

OpCodes.Ldelem_Ref 字段

2013/12/13

将位于指定数组索引处的包含对象引用的元素作为 O 类型(对象引用)加载到计算堆栈的顶部。

Namespace:  System.Reflection.Emit
程序集:  mscorlib(位于 mscorlib.dll 中)

public static readonly OpCode Ldelem_Ref

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

Format

汇编格式

说明

9A

ldelem.ref

将在 index 处具有对象引用的元素作为 O 类型加载到堆栈的顶部。

堆栈转换行为依次为:

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

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

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

  4. 将值推送到堆栈上。

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

ldelem.ref 的返回值为类型 O(对象引用)。

如果 array 是空引用,则引发 NullReferenceException

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

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

下面的 Emit 方法重载可以使用 ldelem.ref 操作码:

  • ILGenerator.Emit(OpCode)

Windows Phone OS

受以下版本支持: 8.0, 7.1

Windows Phone

显示:
© 2015 Microsoft