OpCodes.Brtrue 字段
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
如果 value
为 true
、非空或非零,则将控制转移到目标指令。
public: static initonly System::Reflection::Emit::OpCode Brtrue;
public static readonly System.Reflection.Emit.OpCode Brtrue;
staticval mutable Brtrue : System.Reflection.Emit.OpCode
Public Shared ReadOnly Brtrue As OpCode
字段值
注解
下表列出了指令的十六进制和 Microsoft 中间语言 (MSIL) 程序集格式,以及简短的参考摘要:
格式 | 程序集格式 | 说明 |
---|---|---|
3A <int32 > |
brtrue target brinst target |
如果非零 () true ,则分支到指定偏移量的目标指令。 |
堆栈过渡行为(按顺序排列)为:
value
由上一个操作推送到堆栈上。value
从堆栈中弹出;如果value
为true
,则分支到target
。
brtrue
如果value
(类型native int
) 为非零true
() ,则指令会将控制权转移到指定的目标指令。 如果 value
为零 (false
) 下一个指令继续执行。
如果 value
是对象引用 (类型 O
) 则 brinst
(brtrue
别名) 传输控件(例如,如果它表示对象的实例 (,如果它不是 null 对象引用);请参阅 Ldnull) 。
目标指令表示为 4 字节的带符号偏移量,该偏移量与当前指令之后的指令开头相距。
如果目标指令具有一个或多个前缀代码,则控件只能转移到这些前缀中的第一个。 此指令无法控制传入和移出 try
、 catch
、 filter
和 finally
块的传输。
以下 Emit 方法重载可以使用 brtrue
opcode:
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈