OpCodes.Ldc_I4 Field
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Pushes a supplied value of type int32 onto the evaluation stack as an int32.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared ReadOnly Ldc_I4 As OpCode
public static readonly OpCode Ldc_I4
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 |
---|---|---|
20 < int32 > |
ldc.i4 num |
Pushes the value num onto the stack. |
The stack transitional behavior, in sequential order, is:
- The value num is pushed onto the stack.
Note that there are special short (and hence more efficient) encodings for the integers -128 through 127, and especially short encodings for -1 through 8. All short encodings push 4 byte integers on the stack. Longer encodings are used for 8 byte integers and 4 and 8 byte floating-point numbers, as well as 4-byte values that do not fit in the short forms. There are three ways to push an 8 byte integer constant onto the stack
1. Use the Ldc_I8 instruction for constants that must be expressed in more than 32 bits.
2. Use the Ldc_I4 instruction followed by a Conv_I8 for constants that require 9 to 32 bits.
3. Use a short form instruction followed by a Conv_I8 for constants that can be expressed in 8 or fewer bits.
The following Emit method overload can use the ldc.i4 opcode:
- ILGenerator.Emit(OpCode, int)
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.