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.
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 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
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!