专栏名称: dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
今天看啥  ›  专栏  ›  dotNET跨平台

C# WPF中实现深拷贝的五种方式

dotNET跨平台  · 公众号  ·  · 2024-09-13 08:00

文章预览

1. 手动实现深拷贝 代码示例: public class Person { public string Name { get ; set ; } public Address Address { get ; set ; } } public class Address { public string City { get ; set ; } public string Street { get ; set ; } } public class PersonDeepCopier { public static Person DeepCopy ( Person original ) { return new Person { Name = original.Name, Address = new Address { City = original.Address.City, Street = original.Address.Street } }; } } 优点: 完全控制拷贝过程。 可以定制化处理特殊成员。 缺点: 代码冗长,尤其是对象结构复杂时。 容易出错,需要手动更新所有新成员。 使用场景: 当对象结构简单且不经常改变时。 当需要对拷贝过程进行精细控制时。 2. 使用序列化 代码示例: [ Serializable ] public class ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览