ホームページ  >  記事  >  バックエンド開発  >  .Net の浅いコピーと深いコピーに関する簡単な説明

.Net の浅いコピーと深いコピーに関する簡単な説明

青灯夜游
青灯夜游オリジナル
2019-01-29 15:28:374123ブラウズ

オブジェクトのコピーは、データ オブジェクトのプロパティを同じデータ型の別のオブジェクトにコピーするプロセスです。 .Net では、オブジェクト間でデータをコピーするためにシャロー コピーとディープ コピーが使用されます。次の記事では、.Net における浅いコピーと深いコピーについて簡単に説明しますので、お役に立てれば幸いです。

.Net の浅いコピーと深いコピーに関する簡単な説明

#浅いコピーとは何ですか?

浅いコピーは、新しいオブジェクトを作成し、現在のオブジェクトの非静的フィールドを新しいオブジェクトにコピーします。フィールドが値型の場合、フィールドのビットごとのコピーが実行されます。フィールドが参照型の場合、一意の参照はコピーされますが、参照されるオブジェクト自体はコピーされないため、元のオブジェクトとクローンは同じオブジェクトを参照します。 [ビデオ チュートリアルの推奨:

ASP.NET チュートリアル ]

.Net の浅いコピーと深いコピーに関する簡単な説明

オブジェクトの浅いコピーは、インスタンス変数が古いオブジェクトと同じである新しいオブジェクトです。物体。 .Net では、浅いコピーはオブジェクト メソッド MemberwiseClone() によって行われます。

値を持つオブジェクトがあり、同じ型の別の変数にオブジェクトのコピーを作成したい場合は、浅いコピーとその値型に属するすべての属性値を使用できます。 Copy になりますが、参照型のプロパティがある場合、このインスタンスはコピーされず、インスタンスのみが参照されます。

ディープコピーとは何ですか?

ディープ コピーは、新しいオブジェクトを作成し、現在のオブジェクトのフィールドを新しく作成したオブジェクトにコピーして、内部参照型の完全なコピーを作成するプロセスです。フィールドが値型の場合、フィールドのビットごとのコピーが実行されます。フィールドが参照型の場合、参照オブジェクトの新しいコピーが作成されます。

.Net の浅いコピーと深いコピーに関する簡単な説明

#オブジェクトのディープ コピーは、完全に新しいインスタンス変数を持つ新しいオブジェクトであり、古いオブジェクトとオブジェクトを共有しません。ディープ コピーを実行する場合、クローンを作成するクラスは [Serializable] としてマークされている必要があります。

ディープ コピーは、直接参照される値型要素と、データそのものではなくデータを含むメモリ位置への参照を含む参照型である間接参照要素を含む、オブジェクトのすべての要素をコピーすることを目的としています。 。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上が.Net の浅いコピーと深いコピーに関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。