Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Array.CreateInstance-Methode: (Type, Int32)

 

Veröffentlicht: Oktober 2016

Erstellt ein eindimensionales Array der angegebenen Länge und vom angegebenen Type mit nullbasierter Indizierung.

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

public static Array CreateInstance(
	Type elementType,
	int length
)

Parameter

elementType
Type: System.Type

Der Type des zu erstellenden Array.

length
Type: System.Int32

Die Größe des zu erstellenden Array.

Rückgabewert

Type: System.Array

Ein neues eindimensionales Array der angegebenen Länge und vom angegebenen Type mit nullbasierter Indizierung.

Exception Condition
ArgumentNullException

elementType ist null.

ArgumentException

elementType ist kein gültiger Type.

NotSupportedException

elementType wird nicht unterstützt. Beispielsweise wird Void nicht unterstützt.

- oder -

elementType ist ein offener generischer Typ.

ArgumentOutOfRangeException

length ist kleiner als Null.

Im Gegensatz zu den meisten Klassen Array bietet die CreateInstance -Methode, statt öffentliche Konstruktoren, um spät gebundener Zugriff zu ermöglichen.

Verweistyp-Elemente werden mit initialisiert null. Werttyp Elemente werden mit 0 (null) initialisiert.

Diese Methode ist eine O (n) Vorgang, wobei n ist length.

Im folgenden Codebeispiel wird veranschaulicht, wie erstellt und initialisiert ein eindimensionales 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
*/

Universelle Windows-Plattform
Verfügbar seit 10
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: