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)

 

Data di pubblicazione: ottobre 2016

Crea un oggetto Array bidimensionale dell'oggetto Type specificato e delle lunghezze delle dimensioni specificate, con indice in base zero.

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

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

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.

Valore restituito

Type: System.Array

Nuovo oggetto Array bidimensionale 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.

A differenza della maggior parte delle classi, Array fornisce ilCreateInstance (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 e length2.

Esempio di codice seguente viene illustrato come creare e inizializzare un oggetto bidimensionale 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
Disponibile da 1.1
Torna all'inizio
Mostra: