Array.CreateInstance Method (Type, Int32)
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
[SecuritySafeCriticalAttribute] public static Array CreateInstance( Type elementType, int length )
Parameters
- elementType
- Type: System.Type
The Type of the Array to create.
- length
- Type: System.Int32
The size of the Array to create.
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.
Note: |
|---|
To run this example, see Building Examples That Use a Demo Method and a TextBlock Control. |
using System; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // 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. outputBlock.Text += "The one-dimensional Array contains the following values:" + "\n"; PrintValues(outputBlock, my1DArray); } public static void PrintValues(System.Windows.Controls.TextBlock outputBlock, 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 { outputBlock.Text += "\n"; i = 1; } outputBlock.Text += String.Format("\t{0}", myEnumerator.Current); } outputBlock.Text += "\n"; } } /* This code produces the following output. The one-dimensional Array contains the following values: 1 2 3 4 5 */
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Note: