Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 18920|Răspunde: 0

[Sursă] Clonează replicarea superficială a obiectelor C#

[Copiază linkul]
Postat pe 01.07.2016 10:52:47 | | | |


Clone este împărțit în copii superficiale și adânci

Diferența dintre cele două: Când există un membru de tip referință, copia superficială copiază referința membrului, iar copia profundă copiază obiectul membrului.

Cum să implementezi funcția de copiere a obiectelor:

== Moștenirea interfeței ICloneable implementează metoda Clone

== ICloneable.Clone în sine nu face distincție între Deep sau Shallow, poți chema MemberwiseClone în Clone pentru a implementa un ShallowClone, sau poți implementa tu însuți un DeepClone. Totuși, conform recomandării Microsoft, atunci când implementează ICloneable, este pregătit să implementeze un DeepClone.
== ICloneable.Clone returnează tipul obiectului
== Principiul de replicare al MemberwiseClone este că tipul de valoare este copiat bit cu bit, iar tipul de referință copiază referința obiectului. Un lucru de remarcat aici este tipul String, deși este un tip de referință, aici este același cu tipul de valoare și este tratat ca un tip de valoare în Clone.









Precedent:un alt obiect cu aceeași valoare de identificator era deja asociat cu...
Următor:mvc preia datele JSON XML pentru post
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com