Прочитать на английском

Поделиться через


Array.CreateInstance Метод

Определение

Инициализирует новый экземпляр класса Array.

Перегрузки

CreateInstance(Type, Int32)

Создает одномерный массив Array указанного типа Type и длины, индексация которого начинается с нуля.

CreateInstance(Type, Int32[])

Создает многомерный массив Array заданного типа Type и с заданными значениями длины измерения и индексацией, начинающейся с нуля. Длины по измерениям задаются в массиве 32-битовых целых чисел.

CreateInstance(Type, Int64[])

Создает многомерный массив Array заданного типа Type и с заданными значениями длины измерения и индексацией, начинающейся с нуля. Длины по измерениям задаются в массиве 64-битовых целых чисел.

CreateInstance(Type, Int32, Int32)

Создает двумерный массив Array указанного типа Type с заданными длинами измерений и индексацией, начинающейся с нуля.

CreateInstance(Type, Int32[], Int32[])

Создает многомерный массив Array с указанным типом Type и длиной по измерениям и с заданными нижними границами.

CreateInstance(Type, Int32, Int32, Int32)

Создает трехмерный массив Array указанного типа Type с заданными длинами по измерениям и индексацией, начинающейся с нуля.

CreateInstance(Type, Int32)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Создает одномерный массив Array указанного типа Type и длины, индексация которого начинается с нуля.

public static Array CreateInstance (Type elementType, int length);

Параметры

elementType
Type

Тип Type массива Array, который требуется создать.

length
Int32

Размер массива Array, который требуется создать.

Возвращаемое значение

Новый одномерный массив Array указанного типа Type и длины, индексация которого начинается с нуля.

Исключения

elementType имеет значение null.

elementType не является допустимым Type.

Тип elementType не поддерживается. Например, Void не поддерживается.

-или-

elementType представляет собой открытый универсальный тип.

Значение параметра length меньше нуля.

Примеры

В следующем примере кода показано, как создать и инициализировать одномерный Arrayобъект .

using System;
public class SamplesArray  {

   public static void Main()  {

      // Creates and initializes a one-dimensional Array of type int.
      Array my1DArray=Array.CreateInstance( typeof(int), 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
*/

Комментарии

В отличие от большинства классов, Array предоставляет CreateInstance метод вместо открытых конструкторов для обеспечения доступа с поздней привязкой.

Элементы ссылочного типа инициализируются в null. Элементы типа значений инициализируются нулевым значением.

Этот метод является операцией O(n), где n имеет значение length.

В F# обычно используется функция Array.zeroCreate .

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

CreateInstance(Type, Int32[])

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Создает многомерный массив Array заданного типа Type и с заданными значениями длины измерения и индексацией, начинающейся с нуля. Длины по измерениям задаются в массиве 32-битовых целых чисел.

public static Array CreateInstance (Type elementType, params int[] lengths);

Параметры

elementType
Type

Тип Type массива Array, который требуется создать.

lengths
Int32[]

Массив 32-разрядных целых чисел, представляющих размер каждого измерения массива Array, который нужно создать.

Возвращаемое значение

Новый многомерный массив Array заданного типа Type с заданной для каждого измерения длиной и индексацией, начинающейся с нуля.

Исключения

elementType имеет значение null.

-или-

lengths имеет значение null.

elementType не является допустимым Type.

-или-

Массив lengths содержит менее одного элемента.

Тип elementType не поддерживается. Например, Void не поддерживается.

-или-

elementType представляет собой открытый универсальный тип.

Любое значение в lengths меньше нуля.

Примеры

В следующем примере кода показано, как создать и инициализировать многомерный Arrayобъект .

using System;
public class SamplesArray3  {

   public static void Main()  {

      // Creates and initializes a multidimensional Array of type string.
      int[] myLengthsArray = new int[4] { 2, 3, 4, 5 };
      Array my4DArray=Array.CreateInstance( typeof(string), myLengthsArray );
      for ( int i = my4DArray.GetLowerBound(0); i <= my4DArray.GetUpperBound(0); i++ )
         for ( int j = my4DArray.GetLowerBound(1); j <= my4DArray.GetUpperBound(1); j++ )
            for ( int k = my4DArray.GetLowerBound(2); k <= my4DArray.GetUpperBound(2); k++ )
               for ( int l = my4DArray.GetLowerBound(3); l <= my4DArray.GetUpperBound(3); l++ )  {
                  int[] myIndicesArray = new int[4] { i, j, k, l };
                  my4DArray.SetValue( Convert.ToString(i) + j + k + l, myIndicesArray );
               }

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

   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 four-dimensional Array contains the following values:
    0000    0001    0002    0003    0004
    0010    0011    0012    0013    0014
    0020    0021    0022    0023    0024
    0030    0031    0032    0033    0034
    0100    0101    0102    0103    0104
    0110    0111    0112    0113    0114
    0120    0121    0122    0123    0124
    0130    0131    0132    0133    0134
    0200    0201    0202    0203    0204
    0210    0211    0212    0213    0214
    0220    0221    0222    0223    0224
    0230    0231    0232    0233    0234
    1000    1001    1002    1003    1004
    1010    1011    1012    1013    1014
    1020    1021    1022    1023    1024
    1030    1031    1032    1033    1034
    1100    1101    1102    1103    1104
    1110    1111    1112    1113    1114
    1120    1121    1122    1123    1124
    1130    1131    1132    1133    1134
    1200    1201    1202    1203    1204
    1210    1211    1212    1213    1214
    1220    1221    1222    1223    1224
    1230    1231    1232    1233    1234
*/

Комментарии

В отличие от большинства классов, Array предоставляет CreateInstance метод вместо открытых конструкторов для обеспечения доступа с поздней привязкой.

Число элементов в массиве lengths должно равняться количеству измерений в новом Arrayобъекте . Каждый элемент массива lengths должен указывать длину соответствующего измерения в новом Arrayобъекте .

Элементы ссылочного типа инициализируются в null. Элементы типа значений инициализируются нулевым значением.

Этот метод является операцией O(n), где n — это произведение всех значений в lengths.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

CreateInstance(Type, Int64[])

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Создает многомерный массив Array заданного типа Type и с заданными значениями длины измерения и индексацией, начинающейся с нуля. Длины по измерениям задаются в массиве 64-битовых целых чисел.

public static Array CreateInstance (Type elementType, params long[] lengths);

Параметры

elementType
Type

Тип Type массива Array, который требуется создать.

lengths
Int64[]

Массив 64-разрядных целых чисел, представляющих размер каждого измерения массива Array, который нужно создать. Каждое целое число в массиве должно находиться в диапазоне от нуля до Int32.MaxValue включительно.

Возвращаемое значение

Новый многомерный массив Array заданного типа Type с заданной для каждого измерения длиной и индексацией, начинающейся с нуля.

Исключения

elementType имеет значение null.

-или-

lengths имеет значение null.

elementType не является допустимым Type.

-или-

Массив lengths содержит менее одного элемента.

Тип elementType не поддерживается. Например, Void не поддерживается.

-или-

elementType представляет собой открытый универсальный тип.

Любое значение в lengths меньше нуля или больше , чем Int32.MaxValue.

Примеры

В следующем примере кода показано, как создать и инициализировать многомерный Arrayобъект .

using System;
public class SamplesArray3  {

   public static void Main()  {

      // Creates and initializes a multidimensional Array of type string.
      int[] myLengthsArray = new int[4] { 2, 3, 4, 5 };
      Array my4DArray=Array.CreateInstance( typeof(string), myLengthsArray );
      for ( int i = my4DArray.GetLowerBound(0); i <= my4DArray.GetUpperBound(0); i++ )
         for ( int j = my4DArray.GetLowerBound(1); j <= my4DArray.GetUpperBound(1); j++ )
            for ( int k = my4DArray.GetLowerBound(2); k <= my4DArray.GetUpperBound(2); k++ )
               for ( int l = my4DArray.GetLowerBound(3); l <= my4DArray.GetUpperBound(3); l++ )  {
                  int[] myIndicesArray = new int[4] { i, j, k, l };
                  my4DArray.SetValue( Convert.ToString(i) + j + k + l, myIndicesArray );
               }

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

   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 four-dimensional Array contains the following values:
    0000    0001    0002    0003    0004
    0010    0011    0012    0013    0014
    0020    0021    0022    0023    0024
    0030    0031    0032    0033    0034
    0100    0101    0102    0103    0104
    0110    0111    0112    0113    0114
    0120    0121    0122    0123    0124
    0130    0131    0132    0133    0134
    0200    0201    0202    0203    0204
    0210    0211    0212    0213    0214
    0220    0221    0222    0223    0224
    0230    0231    0232    0233    0234
    1000    1001    1002    1003    1004
    1010    1011    1012    1013    1014
    1020    1021    1022    1023    1024
    1030    1031    1032    1033    1034
    1100    1101    1102    1103    1104
    1110    1111    1112    1113    1114
    1120    1121    1122    1123    1124
    1130    1131    1132    1133    1134
    1200    1201    1202    1203    1204
    1210    1211    1212    1213    1214
    1220    1221    1222    1223    1224
    1230    1231    1232    1233    1234
*/

Комментарии

В отличие от большинства классов, Array предоставляет CreateInstance метод вместо открытых конструкторов для обеспечения доступа с поздней привязкой.

Число элементов в массиве lengths должно равняться количеству измерений в новом Arrayобъекте . Каждый элемент массива lengths должен указывать длину соответствующего измерения в новом Arrayобъекте .

Элементы ссылочного типа инициализируются в null. Элементы типа значений инициализируются нулевым значением.

Этот метод является операцией O(n), где n — это произведение всех значений в lengths.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

CreateInstance(Type, Int32, Int32)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Создает двумерный массив Array указанного типа Type с заданными длинами измерений и индексацией, начинающейся с нуля.

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

Параметры

elementType
Type

Тип Type массива Array, который требуется создать.

length1
Int32

Размер первого измерения создаваемого массива Array.

length2
Int32

Размер второго измерения создаваемого массива Array.

Возвращаемое значение

Новый двумерный массив Array указанного типа Type с заданной для каждого измерения длиной и индексацией, начинающейся с нуля.

Исключения

elementType имеет значение null.

elementType не является допустимым Type.

Тип elementType не поддерживается. Например, Void не поддерживается.

-или-

elementType представляет собой открытый универсальный тип.

Значение параметра length1 меньше нуля.

-или-

Значение параметра length2 меньше нуля.

Примеры

В следующем примере кода показано, как создать и инициализировать двумерный Arrayобъект .

using System;
public class SamplesArray1  {

   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
*/

Комментарии

В отличие от большинства классов, Array предоставляет CreateInstance метод вместо открытых конструкторов для обеспечения доступа с поздней привязкой.

Элементы ссылочного типа инициализируются в null. Элементы типа значений инициализируются нулевым значением.

Этот метод является операцией O(n), где n — произведение length1 и length2.

В F# вместо нее можно использовать функцию Array2D.zeroCreate .

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

CreateInstance(Type, Int32[], Int32[])

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Создает многомерный массив Array с указанным типом Type и длиной по измерениям и с заданными нижними границами.

public static Array CreateInstance (Type elementType, int[] lengths, int[] lowerBounds);

Параметры

elementType
Type

Тип Type массива Array, который требуется создать.

lengths
Int32[]

Одномерный массив, содержащий размер всех измерений массива Array, который необходимо создать.

lowerBounds
Int32[]

Одномерный массив, содержащий нижние границы (начальные индексы) всех измерений массива Array, который необходимо создать.

Возвращаемое значение

Новый многомерный массив Array указанного типа Type с заданной длиной и нижней границей каждого измерения.

Исключения

elementType имеет значение null.

-или-

lengths имеет значение null.

-или-

lowerBounds имеет значение null.

elementType не является допустимым Type.

-или-

Массив lengths содержит менее одного элемента.

-или-

Массивы lengths и lowerBounds содержат разное число элементов.

Тип elementType не поддерживается. Например, Void не поддерживается.

-или-

elementType представляет собой открытый универсальный тип.

Любое значение в lengths меньше нуля.

-или-

Любое значение в lowerBounds очень велико, поэтому сумма нижней границы измерения и длины больше , чем Int32.MaxValue.

Примеры

В следующем примере кода показано, как создать и инициализировать многомерный Array объект с указанными нижними границами.

using System;
public class SamplesArray4  {

   public static void Main()  {

      // Creates and initializes a multidimensional Array of type string.
      int[] myLengthsArray = new int[2] { 3, 5 };
      int[] myBoundsArray = new int[2] { 2, 3 };
      Array myArray=Array.CreateInstance( typeof(string), myLengthsArray, myBoundsArray );
      for ( int i = myArray.GetLowerBound(0); i <= myArray.GetUpperBound(0); i++ )
         for ( int j = myArray.GetLowerBound(1); j <= myArray.GetUpperBound(1); j++ )  {
            int[] myIndicesArray = new int[2] { i, j };
            myArray.SetValue( Convert.ToString(i) + j, myIndicesArray );
         }

      // Displays the lower bounds and the upper bounds of each dimension.
      Console.WriteLine( "Bounds:\tLower\tUpper" );
      for ( int i = 0; i < myArray.Rank; i++ )
         Console.WriteLine( "{0}:\t{1}\t{2}", i, myArray.GetLowerBound(i), myArray.GetUpperBound(i) );

      // Displays the values of the Array.
      Console.WriteLine( "The Array contains the following values:" );
      PrintValues( myArray );
   }

   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.

Bounds:    Lower    Upper
0:    2    4
1:    3    7
The Array contains the following values:
    23    24    25    26    27
    33    34    35    36    37
    43    44    45    46    47
*/

Комментарии

В отличие от большинства классов, Array предоставляет CreateInstance метод вместо открытых конструкторов для обеспечения доступа с поздней привязкой.

Массивы lengths и lowerBounds должны иметь одинаковое количество элементов. Число элементов в массиве lengths должно равняться количеству измерений в новом Arrayобъекте .

Каждый элемент массива lengths должен указывать длину соответствующего измерения в новом Arrayобъекте .

Каждый элемент массива lowerBounds должен указывать нижнюю границу соответствующего измерения в новом Arrayобъекте . Как правило, библиотека классов .NET и многие языки программирования не обрабатывают ненулевых нижних границ.

Элементы ссылочного типа инициализируются в null. Элементы типа значений инициализируются нулевым значением.

Этот метод является операцией O(n), где n — это произведение всех значений в lengths.

Примечание

Не все языки поддерживают массивы с ненулевыми нижними границами, поэтому вы не сможете привести экземпляры ненулевого Array значения к типу массива языка. Например, нельзя привести 1-мерный массив целых чисел с нижней границей 6 к типу int[] C#. Это приводит InvalidCastException к тому, что во время выполнения с сообщением "Не удалось привести объект типа "System.Int32[*]" к типу System.Int32[]".", где звездочка (*) означает индекс, отличный от нуля. Однако вы можете привести массивы с нулевым значением любого ранга, созданного с помощью CreateInstance(Type, Int32[], Int32[]) , к массиву языка. Например, можно привести 2-мерный массив целых чисел на основе нуля, созданный с помощью этого метода, к типу int[,] C#.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

CreateInstance(Type, Int32, Int32, Int32)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Создает трехмерный массив Array указанного типа Type с заданными длинами по измерениям и индексацией, начинающейся с нуля.

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

Параметры

elementType
Type

Тип Type массива Array, который требуется создать.

length1
Int32

Размер первого измерения создаваемого массива Array.

length2
Int32

Размер второго измерения создаваемого массива Array.

length3
Int32

Размер третьего измерения массива Array, который требуется создать.

Возвращаемое значение

Новый трехмерный массив Array указанного типа Type с заданной для каждого измерения длиной и индексацией, начинающейся с нуля.

Исключения

elementType имеет значение null.

elementType не является допустимым Type.

Тип elementType не поддерживается. Например, Void не поддерживается.

-или-

elementType представляет собой открытый универсальный тип.

Значение параметра length1 меньше нуля.

-или-

Значение параметра length2 меньше нуля.

-или-

Значение параметра length3 меньше нуля.

Примеры

В следующем примере кода показано, как создать и инициализировать трехмерный Arrayобъект .

using System;
public class SamplesArray2  {

   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
*/

Комментарии

В отличие от большинства классов, Array предоставляет CreateInstance метод вместо открытых конструкторов для обеспечения доступа с поздней привязкой.

Элементы ссылочного типа инициализируются в null. Элементы типа значений инициализируются нулевым значением.

Этот метод является операцией O(n), где n — это произведение length1, length2и length3.

В F# вместо нее можно использовать функцию Array3D.zeroCreate .

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1