OpCodes.Brtrue 字段

定义

如果 valuetrue、非空或非零,则将控制转移到目标指令。

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 ,则分支到指定偏移量的目标指令。

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

  1. value 由上一个操作推送到堆栈上。

  2. value 从堆栈中弹出;如果 valuetrue,则分支到 target

brtrue如果value (类型native int) 为非零true () ,则指令会将控制权转移到指定的目标指令。 如果 value 为零 (false) 下一个指令继续执行。

如果 value 是对象引用 (类型 O) 则 brinst (brtrue 别名) 传输控件(例如,如果它表示对象的实例 (,如果它不是 null 对象引用);请参阅 Ldnull) 。

目标指令表示为 4 字节的带符号偏移量,该偏移量与当前指令之后的指令开头相距。

如果目标指令具有一个或多个前缀代码,则控件只能转移到这些前缀中的第一个。 此指令无法控制传入和移出 trycatchfilterfinally 块的传输。

以下 Emit 方法重载可以使用 brtrue opcode:

适用于