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, Int32)

 

Veröffentlicht: Oktober 2016

Erstellt ein zweidimensionales Array vom angegebenen Type mit der für jede Dimension angegebenen Länge und mit nullbasierter Indizierung.

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

public static Array CreateInstance(
	Type elementType,
	int length1,
	int length2
)

Parameter

elementType
Type: System.Type

Der Type des zu erstellenden Array.

length1
Type: System.Int32

Die Größe der ersten Dimension des zu erstellenden Array.

length2
Type: System.Int32

Die Größe der zweiten Dimension des zu erstellenden Array.

Rückgabewert

Type: System.Array

Ein neues zweidimensionales Array vom angegebenen Type mit der für jede Dimension angegebenen Länge und 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

length1 ist kleiner als Null.

- oder -

length2 ist kleiner als Null.

Im Gegensatz zu den meisten Klassen Array bietet dieCreateInstance -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 das Produkt der length1 und length2.

Im folgenden Codebeispiel wird veranschaulicht, wie zum Erstellen und initialisieren Sie ein zweidimensionales Array.

using System;
public class SamplesArray  {

   public static void Main()  {

      // Creates and initializes a two-dimensional Array of type String.
      Array my2DArray=Array.CreateInstance( typeof(String), 2, 3 );
      for ( int i = my2DArray.GetLowerBound(0); i <= my2DArray.GetUpperBound(0); i++ )
         for ( int j = my2DArray.GetLowerBound(1); j <= my2DArray.GetUpperBound(1); j++ )
            my2DArray.SetValue( "abc" + i + j, i, j );

      // Displays the values of the Array.
      Console.WriteLine( "The two-dimensional Array contains the following values:" );
      PrintValues( my2DArray );
   }


   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 two-dimensional Array contains the following values:
    abc00    abc01    abc02
    abc10    abc11    abc12
*/

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: