Maison > développement back-end > Tutoriel C#.Net > Une brève discussion sur la copie superficielle et la copie profonde dans .Net

Une brève discussion sur la copie superficielle et la copie profonde dans .Net

青灯夜游
Libérer: 2019-01-29 15:30:20
original
4129 Les gens l'ont consulté

La copie d'objet est le processus de copie des propriétés d'un objet de données vers un autre objet du même type de données. Dans .Net, la copie superficielle et la copie profonde sont utilisées pour copier des données entre des objets. L'article suivant vous donnera une brève compréhension de la copie superficielle et de la copie profonde dans .Net. J'espère qu'il vous sera utile.

Une brève discussion sur la copie superficielle et la copie profonde dans .Net

Qu'est-ce qu'une copie superficielle ?

La copie superficielle crée un nouvel objet, puis copie les champs non statiques de l'objet actuel dans le nouvel objet. Si le champ est de type valeur, une copie bit par bit du champ est effectuée. Si le champ est de type référence, la référence unique est copiée, mais l'objet référencé lui-même n'est pas copié, donc l'original et le clone font référence au même objet ; [Recommandation du didacticiel vidéo : Tutoriel ASP.NET]

Une brève discussion sur la copie superficielle et la copie profonde dans .Net

Une copie superficielle d'un objet est un nouvel objet dont les variables d'instance sont les mêmes que l'ancienne objet. Dans .Net, la copie superficielle est effectuée par la méthode objet MemberwiseClone().

Si vous avez un objet avec une valeur et que vous souhaitez créer une copie de cet objet dans une autre variable du même type, vous pouvez alors utiliser une copie superficielle et toutes les valeurs de propriété appartenant au type valeur sera Copier, mais si vous avez une propriété de type référence, cette instance ne sera pas copiée, seule l'instance sera référencée.

Qu'est-ce qu'une copie profonde ?

La copie approfondie est le processus de création d'un nouvel objet, puis de copie des champs de l'objet actuel vers l'objet nouvellement créé pour créer une copie complète du type de référence interne. Si le champ est de type valeur, une copie bit par bit du champ est effectuée. Si le champ est de type référence, une nouvelle copie de l'objet de référence est effectuée. Une copie complète d'un objet

Une brève discussion sur la copie superficielle et la copie profonde dans .Net

est un nouvel objet avec des variables d'instance complètement nouvelles, il ne partage pas d'objets avec l'ancien objet. Lors de l'exécution de Deep Copy, la classe à cloner doit être marquée [Serialised].

La copie approfondie vise à copier tous les éléments d'un objet, y compris les éléments de type valeur qui sont directement référencés et les éléments de référence indirects qui sont des types de référence qui contiennent une référence à un emplacement mémoire contenant les données plutôt que les données elles-mêmes. .

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal