使用英语阅读

通过


OpCodes.Starg_S 字段

定义

将位于计算堆栈顶部的值存储在自变量槽中的指定索引处(短格式)。

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

字段值

注解

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

格式 程序集格式 说明
10 <unsigned int8> starg.s num 从堆栈中弹出顶部值,并将其存储在参数槽 num(短形式)中。

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

  1. 当前位于堆栈顶部的值将弹出并放置在参数槽 num中。

指令 starg.s 从堆栈中弹出一个值,并将其置于参数槽中 num。 值的类型必须与当前方法的签名中指定的参数类型匹配。

指令 starg.s 提供了一种有效的编码,用于前 256 个参数。

对于采用变量参数列表的过程, starg.s 指令只能用于初始固定参数,而不能用于签名变量部分中的固定参数。

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

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