OpCodes.Beq 字段

如果两个值相等,则将控制转移到目标指令。

**命名空间:**System.Reflection.Emit
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Shared ReadOnly Beq As OpCode
用法
Dim value As OpCode

value = OpCodes.Beq
public static readonly OpCode Beq
public:
static initonly OpCode Beq
public static final OpCode Beq
public static final var Beq : OpCode

备注

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

格式

汇编格式

说明

3B < int32 >

beq target

如果两个值相等,则分支到目标指令,偏移量为 target。

堆栈转换行为依次为:

  1. value1 被推送到堆栈上。

  2. value2 被推送到堆栈上。

  3. 从堆栈中弹出 value2 和 value1;如果 value1 等于 value2,则执行分支操作。

如果 value1 等于 value2,则 beq 指令将控制转移到指定的目标指令。其效果与先执行 ceq 指令,然后执行到特定目标指令的 brtrue 分支的效果相同。目标指令表示为一个 4 字节有符号偏移量,此偏移量相对于当前指令的下一条指令的起始位置。

下面概括了可接受的操作数类型:

如果目标指令有一个或多个前缀代码,则只能将控制转移到其中的第一个前缀。

此指令无法执行进出 trycatchfilterfinally 块的控制转移(此类转移受到严格限制,必须改用 Leave 指令)。

下面的 Emit 方法重载可以使用 beq 操作码:

  • ILGenerator.Emit(OpCode, Label)

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

OpCodes 类
OpCodes 成员
System.Reflection.Emit 命名空间