OpCodes.Stloc_1 字段

定义

从计算堆栈顶部弹出当前值,并将其存储在索引 1 处的局部变量列表中。

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

字段值

注解

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

格式 程序集格式 说明
0B stloc.1 将堆栈中的值弹出到局部变量 1 中。

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

  1. 从堆栈中弹出一个值,并放置在按 1 编制索引的局部变量中。

指令 stloc.1 将顶部值从计算堆栈中弹出,并将其移动到按 1 编制索引的局部变量中。 值的类型必须与当前方法的本地签名中指定的局部变量的类型匹配。

stloc.1 是一种特别高效的编码,用于将值存储在本地变量 1 中。

存储到包含小于 4 个字节的整数值的局部变量中,会在值从堆栈移动到局部变量时截断该值。 浮点值从其本机大小 (类型 F) 舍入到与 参数关联的大小。

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