CopyTo

Метод копирует все параметры из текущей коллекции параметров (источник) в заданный целевой массив (приемник), начиная с указанного индекса в коллекции источника.

Синтаксис
public override void CopyTo(Array array, int index);

array – одномерный массив Array, в который копируются параметры из коллекции (приемник).

index – индекс в массиве-источнике, начиная с которого следует выполнять копирование (отсчет начинается с 0).

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

Значение типа void.

Исключения
ArgumentNullException Аргумент array имеет null-значение.
ArgumentOutOfRangeException Значение аргумента index меньше нуля.
ArgumentException

Возможные причины:

  • массив array является многомерным;

  • значение индекса массива index больше или равно длине массива array;

  • количество извлекаемых из массива-источника элементов превышает размер массива-приемника array;

  • тип данных массива-источника нельзя автоматически привести к типу массива-приемника array.

Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class CopyToSample
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Создание команды
    DbCommand cmd = factory.CreateCommand();
    // Создание параметров
    DbParameter prm1 = factory.CreateParameter();
    prm1.ParameterName = "MAKE";
    prm1.DbType = DbType.String;
    prm1.Size = 40;
    cmd.Parameters.Add(prm1);
    DbParameter prm2 = factory.CreateParameter();
    prm2.ParameterName = "MODEL";
    prm2.DbType = DbType.String;
    prm2.Size = 40;
    cmd.Parameters.Add(prm2);
    DbParameter prm3 = factory.CreateParameter();
    prm3.ParameterName = "YEAR";
    prm3.DbType = DbType.Int32;
    cmd.Parameters.Add(prm3);
    // Копирование параметров в массив
    DbParameter[] prms = new DbParameter[3];
    cmd.Parameters.CopyTo(prms, 0);
    // Освобождение ресурсов
    cmd.Dispose();
  }
}