Taula de continguts:
Definició: què significa Shallow Copy?
La còpia baixa, en C #, és el procés de creació d’un clon d’un objecte instantant una nova instància del mateix tipus que l’objecte original i copiant els membres no estàtics de l’objecte existent al clon. Els membres del tipus de valor es copien mica en mica mentre que els membres del tipus de referència es copien de manera que l'objecte referit i el seu clon es refereixen al mateix objecte.
En general, la còpia superficial s'utilitza quan el rendiment és un dels requisits juntament amb la condició que l'objecte no es muti a tota l'aplicació. En passar el clon que conté dades immutables, s’elimina la possibilitat de corrupció per qualsevol codi. Es pot trobar una còpia poc efectiva en què les referències d’objectes permeten que els objectes es passin per adreça de memòria de manera que no s’hagi de copiar l’objecte complet.
La còpia escassa també es coneix com a còpia per membre
Techopedia explica Copia superficial
La còpia poca és similar a la còpia profunda en l'assignació de cada membre d'un objecte a la d'un altre objecte, però difereix de la manera com es copia el camp del tipus de referència. A diferència de la còpia superficial on només es copia la referència, en còpia profunda, es crea una nova còpia de l'objecte referit.
Per exemple, considereu un objecte d’empleat que conté detalls d’informació personal, inclosa una llista d’objectes d’adreça que emmagatzemen diverses adreces d’empleats. Efectuant una còpia superficial d'un objecte d'empleat, es pot crear un clon de l'objecte empleat amb referències a la mateixa llista d'objectes d'adreça que són propietat de l'objecte original de l'empleat.
Els mètodes per realitzar una còpia superficial inclouen:- Truqueu al mètode MemberwiseClone de l'objecte
- Creeu un clon manualment mitjançant un mètode personalitzat que és tediós però fàcil de controlar
- Utilitzeu una tècnica de reflexió que proporcioni facilitats automatitzades per a realitzar una còpia superficial, però amb despeses generals
- Utilitzeu un mètode de serialització més lent que la reflexió, però automatitzat i senzill
