1. ホーム
  2. c#

[解決済み] System.Array.CopyTo()とSystem.Array.Clone()の違いについて

2023-02-20 09:16:26

質問

の違いは何ですか? System.Array.CopyTo()System.Array.Clone() ?

どのように解決するのですか?

この クローン() メソッドは、元の配列のすべての要素を含む新しい配列 (浅いコピー) オブジェクトを返します。 このメソッドは CopyTo() メソッドは、要素を別の既存の配列にコピーします。 どちらも浅いコピーを実行します。 浅いコピーとは、内容(配列の各要素)が元の配列の要素と同じオブジェクトへの参照を含むことを意味します。 ディープコピー(どちらのメソッドも実行しない)では、各要素のオブジェクトの新しいインスタンスが作成され、結果として異なる、しかし同一のオブジェクトになります。

つまり、違いは :

1- CopyTo require to have a destination array when Clone return a new array.
2- CopyTo let you specify an index (if required) to the destination array.

編集する

間違った例を削除します。