OpCodes::Add Field
Adds two values and pushes the result onto the evaluation stack.
Assembly: mscorlib (in mscorlib.dll)
Field Value
Type: System.Reflection.Emit::OpCodeThe following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:
Format | Assembly Format | Description |
|---|---|---|
58 | add | Adds two numeric values, returning a new numeric value. |
The stack transitional behavior, in sequential order, is:
value1 is pushed onto the stack.
value2 is pushed onto the stack.
value2 and value1 are popped from the stack; value1 is added to value2.
The result is pushed onto the stack.
Overflow is not detected for integer operations (for proper overflow handling, see Add_Ovf).
Integer addition wraps, rather than saturates. For example, assuming 8-bit integers where value1 is set to 255 and value2 is set to 1, the wrapped result is 0 rather than 256.
Floating-point overflow returns +inf (PositiveInfinity) or -inf (NegativeInfinity).
The acceptable operand types and their corresponding result data type are listed in the table below. If there is no entry for a particular type combination (for example, int32 and float; int32 and int64), it is an invalid Microsoft Intermediate Language (MSIL) and generates an error.
operand | value1 type | value2 type | result type |
|---|---|---|---|
add | int32 | int32 | int32 |
add | int32 | native int | native int |
add | int32 | & | & |
add | int32 | * | * |
add | int64 | int64 | int64 |
add | native int | int32 | native int |
add | native int | native int | native int |
add | native int | & | & |
add | native int | * | * |
add | F | F | F |
add | & | int32 | & |
add | & | native int | & |
add | * | int32 | * |
add | * | native int | * |
The following Emit method overload can use the add opcode:
ILGenerator.Emit(OpCode)
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.1
Windows Phone
Available since 8.1