다음을 통해 공유


OpCodes.Newarr 필드

정의

0부터 시작하고 요소가 특정 형식인 새 1차원 배열에 대한 개체 참조를 계산 스택으로 푸시합니다.

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

필드 값

설명

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

서식 어셈블리 형식 Description
8D <T> newarr etype 형식 etype의 요소를 사용하여 새 배열을 만듭니다.

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

  1. 배열의 요소 수가 스택에 푸시됩니다.

  2. 스택에서 요소 수가 표시되고 배열이 만들어집니다.

  3. 새 배열에 대한 개체 참조가 스택에 푸시됩니다.

명령은 newarr 개체 참조(형식)를 요소가 형식 etype (형식O을 설명하는 메타데이터 토큰)인 0부터 시작하는 1차원 배열로 푸시합니다. 새 배열의 요소 수를 로 native int지정해야 합니다. 유효한 배열 인덱스 범위는 0부터 최대 요소 수에서 1을 뺀 값까지입니다.

배열의 요소는 값 형식을 비롯한 모든 형식일 수 있습니다.

0부터 시작하는 1차원 숫자 배열은 적절한 값 형식(Int32등)을 참조하는 메타데이터 토큰을 사용하여 만들어집니다. 배열의 요소는 적절한 형식의 0으로 초기화됩니다.

0이 아닌 1차원 배열 및 다차원 배열은 대신 newarr를 사용하여 Newobj 만들어집니다. 더 일반적으로 .NET Framework 클래스의 Array 메서드를 사용하여 만들어집니다.

OutOfMemoryException 는 요청을 충족할 메모리가 부족한 경우 throw됩니다.

OverflowException 가 0보다 작으면 numElems throw됩니다.

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

적용 대상