OpCodes.Ldloc_S OpCodes.Ldloc_S OpCodes.Ldloc_S OpCodes.Ldloc_S Field


Loads the local variable at a specific index onto the evaluation stack, short form.

public: static initonly System::Reflection::Emit::OpCode Ldloc_S;
public static readonly System.Reflection.Emit.OpCode Ldloc_S;
 staticval mutable Ldloc_S : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldloc_S As OpCode 

Field Value


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
11 < unsigned int8 > ldloc.s index Loads the local variable at index index onto stack, short form.

The stack transitional behavior, in sequential order, is:

  1. The local variable value at the specified index is pushed onto the stack.

The ldloc.s instruction pushes the contents of the local variable number at the passed index onto the evaluation stack, where the local variables are numbered 0 onwards. Local variables are initialized to 0 before entering the method if the initialize flag on the method is true. There are 256 (2^8) local variables possible (0-255) in the short form, which is a more efficient encoding than ldloc.

The type of the value is the same as the type of the local variable, which is specified in the method header. See Partition I. Local variables that are smaller than 4 bytes long are expanded to type int32 when they are loaded onto the stack. Floating-point values are expanded to their native size (type F).

The following Emit method overloads can use the ldloc.s opcode:

  • ILGenerator.Emit(OpCode, LocalBuilder)

  • ILGenerator.Emit(OpCode, byte)

Applies to