Array.ConstrainedCopy メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Array.ConstrainedCopy メソッドの意味・解説 

Array.ConstrainedCopy メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

指定したコピー元インデックスを開始位置として Array から要素の範囲をコピーし、指定したコピー先インデックスを開始位置として他の Array にそれらの要素を貼り付けます。コピーが完全に成功しない限り、変更は一切適用されません。

名前空間: System
アセンブリ: 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
)

パラメータ

sourceArray

コピーするデータを格納している Array。

sourceIndex

コピー操作の開始位置となる sourceArray 内のインデックスを表す 32 ビット整数。

destinationArray

データのコピー先となる Array。

destinationIndex

格納操作の開始位置となる destinationArray 内のインデックスを表す 32 ビット整数。

length

コピーする要素の数を表す 32 ビット整数。

例外例外
例外の種類条件

ArgumentNullException

sourceArray が null 参照 (Visual Basic では Nothing) です。

または

destinationArray が null 参照 (Visual Basic では Nothing) です。

RankException

sourceArray と destinationArray のランクが異なります。

ArrayTypeMismatchException

sourceArray の型が destinationArray の型 (またはその派生型) と異なります。

InvalidCastException

sourceArray 内の 1 つ以上の要素を destinationArray の型にキャストできません。

ArgumentOutOfRangeException

sourceIndex が、sourceArray の最初の次元の下限より小さい値です。

または

destinationIndex が、destinationArray の最初の次元の下限より小さい値です。

または

length が 0 未満です。

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) 内でも使用できます。

このメソッドは O(n) 操作です。ここで、n は length です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Array クラス
Array メンバ
System 名前空間
Copy
Clone
System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
System.Runtime.ConstrainedExecution.CER


このページでは「.NET Framework クラス ライブラリ リファレンス」からArray.ConstrainedCopy メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からArray.ConstrainedCopy メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からArray.ConstrainedCopy メソッド を検索

英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

Array.ConstrainedCopy メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Array.ConstrainedCopy メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS