다음을 통해 공유


OpCodes.Ldind_I 필드

정의

native int 형식의 값을 native int 형식으로 계산 스택에 간접적으로 로드합니다.

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

필드 값

설명

다음 표에서는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 나열합니다.

서식 어셈블리 형식 Description
4D ldind.i 주소 addrnative int 값을 스택에 로 native int로드합니다.

스택 전환 동작은 순차적으로 다음과 같습니다.

  1. 주소가 스택에 푸시됩니다.

  2. 주소가 스택에서 튀어나온 경우 주소에 있는 값이 페치됩니다.

  3. 가져온 값이 스택에 푸시됩니다.

명령은 ldind.i 지정된 주소(형식 native int, &또는 *)의 값을 스택native int에 간접적으로 로드 native int 합니다.

ldind 모든 지침은 해당 기본 제공 값 클래스를 Ldobj 지정하는 명령의 바로 가기입니다.

4바이트 미만의 정수 값은 평가 스택에 int32 로드될 때 (아님 native int)로 확장됩니다. 부동 소수점 값은 평가 스택에 F 로드될 때 형식으로 변환됩니다.

올바른 형식의 MSIL(Microsoft Intermediate Language)을 사용하면 ldind 포인터 형식과 일치하는 방식으로 명령이 사용됩니다.

처음에 스택에 푸시된 주소는 컴퓨터에서 개체의 자연스러운 크기에 맞춰야 합니다. 또는 NullReferenceException 가 발생할 수 있습니다(예방 측정에 대한 접두사 명령 참조 Unaligned ). 주소(예 Ldloca : 및 Ldarga)를 반환하는 모든 MSIL 명령의 결과가 안전하게 정렬됩니다. 1 바이트보다 큰 데이터 형식의 경우 바이트 순서는 대상 CPU에 따라 달라집니다. 바이트 순서에 의존하는 코드는 모든 플랫폼에서 실행되지 않을 수 있습니다.

NullReferenceException 잘못된 주소가 검색되면 throw될 수 있습니다.

다음 Emit 메서드 오버로드는 opcode를 ldind.i 사용할 수 있습니다.

적용 대상