Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Array.CreateInstance (Type, Int32, Int32, Int32)

 

Data di pubblicazione: ottobre 2016

Crea un oggetto Array tridimensionale dell'oggetto Type specificato e le lunghezze della dimensione, con indice in base zero.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

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

Parametri

elementType
Type: System.Type

Oggetto Type dell'oggetto Array da creare.

length1
Type: System.Int32

Dimensioni della prima dimensione di Array da creare.

length2
Type: System.Int32

Dimensioni della seconda dimensione dell'oggetto Array da creare.

length3
Type: System.Int32

Dimensioni della terza dimensione dell'oggetto Array da creare.

Valore restituito

Type: System.Array

Nuovo oggetto Array tridimensionale dell'oggetto Type specificato con la lunghezza specificata per ciascuna dimensione, con indice in base zero.

Exception Condition
ArgumentNullException

elementType è null.

ArgumentException

elementType non è un oggetto Type valido.

NotSupportedException

elementType non è supportato. Ad esempio, Void non è supportato.

-oppure-

elementType è un tipo generico aperto.

ArgumentOutOfRangeException

length1 è minore di zero.

-oppure-

length2 è minore di zero.

-oppure-

length3 è minore di zero.

A differenza della maggior parte delle classi, Array fornisce il CreateInstance (metodo), anziché i costruttori pubblici, per consentire l'accesso ad associazione tardiva.

Gli elementi di tipo di riferimento vengono inizializzati null. Gli elementi di tipo di valore vengono inizializzati a zero.

Questo metodo è un'operazione O (n) operazione, in cui n è il prodotto di length1, length2, e length3.

Esempio di codice seguente viene illustrato come creare e inizializzare un oggetto tridimensionale Array.

using System;
public class SamplesArray  {

   public static void Main()  {

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

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


   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 three-dimensional Array contains the following values:
    abc000    abc001    abc002    abc003
    abc010    abc011    abc012    abc013
    abc020    abc021    abc022    abc023
    abc100    abc101    abc102    abc103
    abc110    abc111    abc112    abc113
    abc120    abc121    abc122    abc123
*/

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: