OpCodes.Stelem 字段

定义

用计算堆栈中的值替换给定索引处的数组元素,其类型在指令中指定。

C#
public static readonly System.Reflection.Emit.OpCode Stelem;

字段值

注解

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

格式 程序集格式 说明
A4 <T> stelem typeTok 将提供的索引处的数组元素替换为堆栈上的 类型 typeTok 值。

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

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

  2. 将 中的array元素的索引值 index推送到堆栈上。

  3. 将指令中指定的类型的值推送到堆栈上。

  4. 从堆栈中弹出值、索引和数组引用;值放入给定索引处的数组元素中。

指令 stelem 将一维数组 array 中提供的从零开始的索引处的 元素的值替换为 值。 值具有指令中标记 typeTok 指定的类型。

数组是 对象,因此由 类型的 O值表示。 索引的类型 native int为 。

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

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

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

以下 Emit 方法重载可以使用 stelem 操作码:

适用于

产品 版本
.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