Ldc_I4 Field
TOC
Collapse the table of content
Expand the table of content

OpCodes.Ldc_I4 Field

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Pushes a supplied value of type int32 onto the evaluation stack as an int32.

Namespace:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

public static readonly OpCode Ldc_I4

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:

  1. 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)

Windows Phone OS

Supported in: 8.1, 8.0, 7.1

Windows Phone

Show:
© 2016 Microsoft