OpCodes.Brtrue_S 字段

定义

如果 value 不是 truenull 或非零,则将控制权传输到目标指令(短格式)。

public: static initonly System::Reflection::Emit::OpCode Brtrue_S;
public static readonly System.Reflection.Emit.OpCode Brtrue_S;
 staticval mutable Brtrue_S : System.Reflection.Emit.OpCode
Public Shared ReadOnly Brtrue_S As OpCode 

字段值

注解

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

Format 程序集格式 Description
二 维和 <int8> brtrue.s target

brinst.s target
如果非零(true)短格式,则分支到指定偏移量处的目标指令。

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

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

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

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

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

目标指令表示为从指令开头遵循当前指令的 1 字节有符号偏移量。

如果目标指令具有一个或多个前缀代码,则控件只能传输到这些前缀中的第一个。 控制传入和传出trycatchfilter块和finally块不能由此指令执行。

以下 Emit 方法重载可以使用 brtrue.s 操作码:

适用于