Array.ConstrainedCopy メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Public Shared Sub ConstrainedCopy ( _ sourceArray As Array, _ sourceIndex As Integer, _ destinationArray As Array, _ destinationIndex As Integer, _ length As Integer _ )
Dim sourceArray As Array Dim sourceIndex As Integer Dim destinationArray As Array Dim destinationIndex As Integer Dim length As Integer Array.ConstrainedCopy(sourceArray, sourceIndex, destinationArray, destinationIndex, length)
public static void ConstrainedCopy ( Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length )
public: static void ConstrainedCopy ( Array^ sourceArray, int sourceIndex, Array^ destinationArray, int destinationIndex, int length )
public static void ConstrainedCopy ( Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length )
public static function ConstrainedCopy ( sourceArray : Array, sourceIndex : int, destinationArray : Array, destinationIndex : int, length : int )

例外の種類 | 条件 |
---|---|
ArgumentNullException | sourceArray が null 参照 (Visual Basic では Nothing) です。 または destinationArray が null 参照 (Visual Basic では Nothing) です。 |
RankException | |
ArrayTypeMismatchException | |
InvalidCastException | |
ArgumentOutOfRangeException | sourceIndex が、sourceArray の最初の次元の下限より小さい値です。 または destinationIndex が、destinationArray の最初の次元の下限より小さい値です。 または |
ArgumentException | length が、sourceIndex から sourceArray の末尾までの要素数を超えています。 または length が、destinationIndex から destinationArray の末尾までの要素数を超えています。 |

sourceArray パラメータと destinationArray パラメータは、同じ次元数である必要があります。sourceArray の型は、destinationArray の型 (またはその派生型) と同じであることが必要です。それ以外の場合、ArrayTypeMismatchException がスローされます。Copy とは異なり、ConstrainedCopy では、操作の実行前に、配列の型に互換性があるかどうかが検証されます。
多次元配列間でコピーする場合、概念的には、配列は各行 (または列) の先頭と末尾をつなげて並べた長い 1 次元配列のように動作します。たとえば、配列内にそれぞれ 4 つ要素を持つ行 (または列) が 3 つある場合、配列の先頭から 6 つ要素をコピーすると、最初の行 (または列) の 4 つの要素すべてと、2 番目の行 (または列) の最初の 2 つの要素がコピーされます。3 番目の行 (または列) の 2 番目の要素からコピーを開始するには、sourceIndex で、最初の行 (または列) の上限 + 2 番目の行 (または列) の長さ + 2 の値を指定する必要があります。
sourceArray と destinationArray が部分的に重なっている場合、このメソッドは、destinationArray が上書きされる前に sourceArray の元の値が一時的な場所に保存されているかのように動作します。
このメソッドは、標準の C/C++ 関数である memmove と同じです。memcpy とは異なります。
配列は参照型配列または値型配列のどちらかです。sourceArray と destinationArray の両方が参照型または Object 型の配列である場合は、簡易コピーが実行されます。Array の簡易コピーでは、元の Array と同じ要素への参照を格納する新しい Array が作成されます。要素自体または要素が参照する対象はコピーされません。対照的に、Array の詳細コピーでは、要素自体および要素が直接的または間接的に参照するすべての対象がコピーされます。
このメソッドでコピー中に例外がスローされた場合、destinationArray は一切変更されません。そのため、ConstrainedCopy は、制約された実行領域 (CER) 内でも使用できます。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Array.ConstrainedCopy メソッドのページへのリンク