Mělká kopie

Autor: Lewis Jackson
Datum Vytvoření: 8 Smět 2021
Datum Aktualizace: 25 Červen 2024
Anonim
Mělká kopie - Technologie
Mělká kopie - Technologie

Obsah

Definice - Co znamená mělká kopie?

Mělká kopie v C # je proces vytváření klonu objektu instancí nové instance stejného typu jako původní objekt a zkopírováním nestatických členů existujícího objektu do klonu. Členové hodnotového typu jsou kopírováni kousek po kousku, zatímco členové referenčního typu jsou zkopírováni tak, že odkazovaný objekt a jeho klon odkazují na stejný objekt.


Obecně se mělká kopie používá, je-li výkon jedním z požadavků spolu s podmínkou, že objekt nebude během aplikace mutován. Předáním klonu obsahujícího neměnná data je vyloučena možnost poškození jakýmkoli kódem. Mělká kopie se považuje za účinnou tam, kde odkazy na objekty umožňují předávání objektů kolem adresy paměti, takže není nutné kopírovat celý objekt.

Mělká kopie se také nazývá kopie po členech.

Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.

Techopedia vysvětluje mělkou kopii

Mělká kopie je podobná hluboké kopii při přiřazování každého člena objektu k jinému objektu, liší se však způsobem kopírování pole typu odkazu. Na rozdíl od mělké kopie, kde je odkaz pouze kopírován, v hluboké kopii je vytvořena nová kopie odkazovaného objektu.


Zvažte například objekt zaměstnance, který obsahuje podrobnosti o osobních údajích, včetně seznamu adresních objektů, které ukládají více adres zaměstnanců. Provedením mělké kopie zaměstnaneckého objektu lze vytvořit klon zaměstnaneckého objektu s odkazy na stejný seznam adresových objektů, které vlastní původní zaměstnanecký objekt.

Metody provádění mělké kopie zahrnují:
  • Volání metody MemberwiseClone objektu
  • Vytvořte klon ručně pomocí vlastní metody, která je nudná, ale snadno ovladatelná
  • Použijte techniku ​​odrazu, která poskytuje automatizované zařízení pro provádění mělké kopie, ale s výkonem nad hlavou
  • Použijte metodu serializace, která je pomalejší než reflexe, ale automatizovaná a jednoduchá
Mělkou kopii nelze použít, pokud má objekt členy referenčního typu, které jsou často upravovány. Tato definice byla napsána v konu C #