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

sourceArraynull 参照 (Visual Basic では Nothing) です。

または

destinationArraynull 参照 (Visual Basic では Nothing) です。

RankException

sourceArraydestinationArrayランク異なります

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 の値を指定する必要があります

sourceArraydestinationArray部分的に重なっている場合、このメソッドは、destinationArray上書きされる前に sourceArray の元の値が一時的な場所に保存されているかのように動作します

このメソッドは、標準C/C++ 関数である memmove と同じです。memcpy とは異なります

配列参照型配列または値型配列どちらかです。sourceArraydestinationArray両方参照型または Object 型の配列である場合は、簡易コピー実行されます。Array簡易コピーでは、元の Array と同じ要素への参照格納する新しArray作成されます。要素自体または要素参照する対象コピーされません。対照的にArray詳細コピーでは、要素自体および要素直接的または間接的に参照するすべての対象コピーされます。

このメソッドコピー中に例外スローされた場合destinationArray一切変更されません。そのため、ConstrainedCopy は、制約され実行領域 (CER) 内でも使用できます

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

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



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

   

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



Array.ConstrainedCopy メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS