OpCodes.Ceq Field

Definition

Compares two values. If they are equal, the integer value 1 (int32) is pushed onto the evaluation stack; otherwise 0 (int32) is pushed onto the evaluation stack.

C#
public static readonly System.Reflection.Emit.OpCode Ceq;

Field Value

Remarks

The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

Format Assembly Format Description
FE 01 ceq Pushes 1 if value1 equals value2; else pushes 0.

The stack transitional behavior, in sequential order, is:

  1. value1 is pushed onto the stack.

  2. value2 is pushed onto the stack.

  3. value2 and value1 are popped from the stack; value1 is compared to value2.

  4. If value1 is equal to value2, 1 is pushed onto the stack; otherwise 0 is pushed onto the stack.

The ceq instruction compares value1 and value2. If value1 is equal to value2, then 1 (of type int32) is pushed on the stack. Otherwise 0 (of type int32) is pushed on the stack.

For floating-point number, ceq will return 0 if the numbers are unordered (either or both are NaN). The infinite values are equal to themselves.

The following Emit method overload can use the ceq opcode:

Applies to

Product Versions
.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