Array.CreateInstance Method (Type, Int32)
.NET Framework (current version)
Namespace:
System
Assembly: mscorlib (in mscorlib.dll)
Return to top
Assembly: mscorlib (in mscorlib.dll)
Return Value
Type: System.ArrayA new one-dimensional Array of the specified Type with the specified length, using zero-based indexing.
| Exception | Condition |
|---|---|
| ArgumentNullException | elementType is null. |
| ArgumentException | elementType is not a valid Type. |
| NotSupportedException | elementType is not supported. For example, Void is not supported. -or- elementType is an open generic type. |
| ArgumentOutOfRangeException | length is less than zero. |
Unlike most classes, Array provides the CreateInstance method, instead of public constructors, to allow for late bound access.
Reference-type elements are initialized to null. Value-type elements are initialized to zero.
This method is an O(n) operation, where n is length.
The following code example shows how to create and initialize a one-dimensional Array.
using System; public class SamplesArray { public static void Main() { // Creates and initializes a one-dimensional Array of type Int32. Array my1DArray=Array.CreateInstance( typeof(Int32), 5 ); for ( int i = my1DArray.GetLowerBound(0); i <= my1DArray.GetUpperBound(0); i++ ) my1DArray.SetValue( i+1, i ); // Displays the values of the Array. Console.WriteLine( "The one-dimensional Array contains the following values:" ); PrintValues( my1DArray ); } public static void PrintValues( Array myArr ) { System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator(); int i = 0; int cols = myArr.GetLength( myArr.Rank - 1 ); while ( myEnumerator.MoveNext() ) { if ( i < cols ) { i++; } else { Console.WriteLine(); i = 1; } Console.Write( "\t{0}", myEnumerator.Current ); } Console.WriteLine(); } } /* This code produces the following output. The one-dimensional Array contains the following values: 1 2 3 4 5 */
Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Available since 10
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Show: