使用英语阅读

通过


OpCodes.Ldelem 字段

定义

按照指令中指定的类型,将指定数组索引中的元素加载到计算堆栈的顶部。

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

字段值

注解

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

格式 程序集格式 说明
A3 <T> ldelem typeTok 将 位于 index 的 元素作为类型 typeTok加载到堆栈顶部。

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

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

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

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

  4. 值将推送到堆栈上。

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

返回值的类型由指令中的标记 typeTok 指定。

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

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

以下 Emit 方法重载可以使用 ldelem 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 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