OpCodes.Ldelem_I1 字段
定义
将位于指定数组索引处的 int8 类型的元素作为 int32 加载到计算堆栈的顶部。Loads the element with type int8 at a specified array index onto the top of the evaluation stack as an int32.
public: static initonly System::Reflection::Emit::OpCode Ldelem_I1;
public static readonly System.Reflection.Emit.OpCode Ldelem_I1;
staticval mutable Ldelem_I1 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_I1 As OpCode
字段值
注解
下表列出了指令的十六进制和 Microsoft 中间语言 (MSIL) 程序集格式,以及简短的参考摘要: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 |
|---|---|---|
| 9090 | ldelemldelem.i1 | 将类型为的元素 int8 index 作为加载到堆栈顶部 int32 。Loads the element with type int8 at index onto the top of the stack as an int32. |
堆栈转换行为顺序如下:The stack transitional behavior, in sequential order, is:
对象引用
array被推送到堆栈上。An object referencearrayis pushed onto the stack.索引值
index被推送到堆栈上。An index valueindexis pushed onto the stack.index将array从堆栈中弹出和,并在中查找存储在位置的值indexarray。indexandarrayare popped from the stack; the value stored at positionindexinarrayis looked up.值推送到堆栈上。The value is pushed onto the stack.
ldelem.i1指令在 index 从零开始的一维数组中加载具有索引 (类型) 的元素的值 native int array ,并将其放在堆栈顶部。The ldelem.i1 instruction loads the value of the element with index index (type native int) in the zero-based one-dimensional array array and places it on the top of the stack. 数组是对象,因此表示为类型的值 O 。Arrays are objects and hence represented by a value of type O.
的返回值 ldelem.i1 为 int8 。The return value for ldelem.i1 is int8.
请注意,小于4个字节的整数值将扩展到在将 int32 native int 其加载到计算堆栈上时不) (。Note that integer values of less than 4 bytes are extended to int32 (not native int) when they are loaded onto the evaluation stack.
NullReferenceException 如果 array 为 null 引用,则引发。NullReferenceException is thrown if array is a null reference.
ArrayTypeMismatchException 如果不 array 包含所需类型的元素,则引发。ArrayTypeMismatchException is thrown if array does not hold elements of the required type.
IndexOutOfRangeException 如果 index 为负或大于的界限,则引发 array 。IndexOutOfRangeException is thrown if index is negative, or larger than the bound of array.
以下 Emit 方法重载可以使用 ldelem.i1 操作码:The following Emit method overload can use the ldelem.i1 opcode: