Expand Minimize

OpCodes.Newarr Field

Pushes an object reference to a new zero-based, one-dimensional array whose elements are of a specific type onto the evaluation stack.

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

public static readonly OpCode Newarr

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

8D < T >

newarr etype

Creates a new array with elements of type etype.

The stack transitional behavior, in sequential order, is:

  1. The number of elements in the array is pushed onto the stack.

  2. The number of elements is popped from the stack and the array is created.

  3. An object reference to the new array is pushed onto the stack.

The newarr instruction pushes an object reference (type O) to a new zero-based, one-dimensional array whose elements are of type etype (a metadata token describing the type). The number of elements in the new array should be specified as a native int. Valid array indexes range from zero to the maximum number of elements minus one.

The elements of an array can be any type, including value types.

Zero-based, one-dimensional arrays of numbers are created using a metadata token referencing the appropriate value type (Int32, and so on). Elements of the array are initialized to 0 of the appropriate type.

Nonzero-based one-dimensional arrays and multidimensional arrays are created using Newobj rather than newarr. More commonly, they are created using the methods of the Array class in the .NET Framework.

OutOfMemoryException is thrown if there is insufficient memory to satisfy the request.

OverflowException is thrown if numElems is less than 0.

The following Emit method overload can use the newarr opcode:

  • ILGenerator.Emit(OpCode, Type)

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft